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-06-16 21:50:01 +0300
committerXhmikosR <xhmikosr@gmail.com>2020-06-16 22:02:03 +0300
commitebb0b8c68c8dabc9ba7065a07f280335d12d42bd (patch)
tree76c054bfec94b22a6e6af60704829ebf2767ad73 /dist
parent723cd8d12bdd48f389234b5fc40c3b1789807b4d (diff)
Run dist.
Diffstat (limited to 'dist')
-rw-r--r--dist/css/bootstrap-grid.css2
-rw-r--r--dist/css/bootstrap-grid.css.map2
-rw-r--r--dist/css/bootstrap-grid.min.css2
-rw-r--r--dist/css/bootstrap-grid.min.css.map2
-rw-r--r--dist/css/bootstrap-reboot.css6
-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.css2
-rw-r--r--dist/css/bootstrap-utilities.css.map2
-rw-r--r--dist/css/bootstrap-utilities.min.css2
-rw-r--r--dist/css/bootstrap-utilities.min.css.map2
-rw-r--r--dist/css/bootstrap.css223
-rw-r--r--dist/css/bootstrap.css.map2
-rw-r--r--dist/css/bootstrap.min.css4
-rw-r--r--dist/css/bootstrap.min.css.map2
-rw-r--r--dist/js/bootstrap.bundle.js276
-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.js274
-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.js276
-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, 488 insertions, 623 deletions
diff --git a/dist/css/bootstrap-grid.css b/dist/css/bootstrap-grid.css
index ea92566ec5..808907d15d 100644
--- a/dist/css/bootstrap-grid.css
+++ b/dist/css/bootstrap-grid.css
@@ -2,7 +2,7 @@
* Bootstrap Grid v5.0.0-alpha1 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
.container,
.container-fluid,
diff --git a/dist/css/bootstrap-grid.css.map b/dist/css/bootstrap-grid.css.map
index ed7ea45daa..8ce466b98a 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/_variables.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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AA8C;ENogC9C;EM58BU;IAxDV,gBAA8C;ENugC9C;EM/8BU;IAxDV,uBAA8C;EN0gC9C;EMl9BU;IAxDV,uBAA8C;EN6gC9C;EM18BM;;IAEE,gBAAc;EN48BtB;EMz8BM;;IAEE,gBAAc;EN28BtB;EMl9BM;;IAEE,sBAAc;ENo9BtB;EMj9BM;;IAEE,sBAAc;ENm9BtB;EM19BM;;IAEE,qBAAc;EN49BtB;EMz9BM;;IAEE,qBAAc;EN29BtB;EMl+BM;;IAEE,mBAAc;ENo+BtB;EMj+BM;;IAEE,mBAAc;ENm+BtB;EM1+BM;;IAEE,qBAAc;EN4+BtB;EMz+BM;;IAEE,qBAAc;EN2+BtB;EMl/BM;;IAEE,mBAAc;ENo/BtB;EMj/BM;;IAEE,mBAAc;ENm/BtB;AACF;;AO9jCM;EAEI,wBAA+D;APgkCzE;;AOlkCM;EAEI,0BAA+D;APokCzE;;AOtkCM;EAEI,gCAA+D;APwkCzE;;AO1kCM;EAEI,yBAA+D;AP4kCzE;;AO9kCM;EAEI,yBAA+D;APglCzE;;AOllCM;EAEI,6BAA+D;APolCzE;;AOtlCM;EAEI,8BAA+D;APwlCzE;;AO1lCM;EAEI,wBAA+D;AP4lCzE;;AO9lCM;EAEI,+BAA+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,sCAA+D;APgoCzE;;AOloCM;EAEI,oCAA+D;APooCzE;;AOtoCM;EAEI,kCAA+D;APwoCzE;;AO1oCM;EAEI,yCAA+D;AP4oCzE;;AO9oCM;EAEI,wCAA+D;APgpCzE;;AOlpCM;EAEI,wCAA+D;APopCzE;;AOtpCM;EAEI,kCAA+D;APwpCzE;;AO1pCM;EAEI,gCAA+D;AP4pCzE;;AO9pCM;EAEI,8BAA+D;APgqCzE;;AOlqCM;EAEI,gCAA+D;APoqCzE;;AOtqCM;EAEI,+BAA+D;APwqCzE;;AO1qCM;EAEI,oCAA+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pDI;IAEI,8BAA+D;EPqpDvE;EOvpDI;IAEI,wBAA+D;EPwpDvE;EO1pDI;IAEI,+BAA+D;EP2pDvE;EO7pDI;IAEI,yBAA+D;EP8pDvE;EOhqDI;IAEI,8BAA+D;EPiqDvE;EOnqDI;IAEI,iCAA+D;EPoqDvE;EOtqDI;IAEI,sCAA+D;EPuqDvE;EOzqDI;IAEI,yCAA+D;EP0qDvE;EO5qDI;IAEI,uBAA+D;EP6qDvE;EO/qDI;IAEI,uBAA+D;EPgrDvE;EOlrDI;IAEI,sCAA+D;EPmrDvE;EOrrDI;IAEI,oCAA+D;EPsrDvE;EOxrDI;IAEI,kCAA+D;EPyrDvE;EO3rDI;IAEI,yCAA+D;EP4rDvE;EO9rDI;IAEI,wCAA+D;EP+rDvE;EOjsDI;IAEI,wCAA+D;EPksDvE;EOpsDI;IAEI,kCAA+D;EPqsDvE;EOvsDI;IAEI,gCAA+D;EPwsDvE;EO1sDI;IAEI,8BAA+D;EP2sDvE;EO7sDI;IAEI,gCAA+D;EP8sDvE;EOhtDI;IAEI,+BAA+D;EPitDvE;EOntDI;IAEI,oCAA+D;EPotDvE;EOttDI;IAEI,kCAA+D;EPutDvE;EOztDI;IAEI,gCAA+D;EP0tDvE;EO5tDI;IAEI,uCAA+D;EP6tDvE;EO/tDI;IAEI,sCAA+D;EPguDvE;EOluDI;IAEI,iCAA+D;EPmuDvE;EOruDI;IAEI,2BAA+D;EPsuDvE;EOxuDI;IAEI,iCAA+D;EPyuDvE;EO3uDI;IAEI,+BAA+D;EP4uDvE;EO9uDI;IAEI,6BAA+D;EP+uDvE;EOjvDI;IAEI,+BAA+D;EPkvDvE;EOpvDI;IAEI,8BAA+D;EPqvDvE;EOvvDI;IAEI,oBAA+D;EPwvDvE;EO1vDI;IAEI,mBAA+D;EP2vDvE;EO7vDI;IAEI,mBAA+D;EP8vDvE;EOhwDI;IAEI,mBAA+D;EPiwDvE;EOnwDI;IAEI,mBAA+D;EPowDvE;EOtwDI;IAEI,mBAA+D;EPuwDvE;EOzwDI;IAEI,mBAA+D;EP0wDvE;EO5wDI;IAEI,mBAA+D;EP6wDvE;EO/wDI;IAEI,oBAA+D;EPgxDvE;EOlxDI;IAEI,0BAA+D;EPmxDvE;EOrxDI;IAEI,yBAA+D;EPsxDvE;EOxxDI;IAEI,uBA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E;EOzhEI;IAEI,kCAA+D;EP0hEvE;EO5hEI;IAEI,iCAA+D;EP6hEvE;EO/hEI;IAEI,+BAA+D;EPgiEvE;EOliEI;IAEI,iCAA+D;EPmiEvE;EOriEI;IAEI,+BAA+D;EPsiEvE;EOxiEI;IAEI,0BAA+D;EPyiEvE;EO3iEI;IAEI,gCAA+D;EP4iEvE;EO9iEI;IAEI,+BAA+D;EP+iEvE;EOjjEI;IAEI,6BAA+D;EPkjEvE;EOpjEI;IAEI,+BAA+D;EPqjEvE;EOvjEI;IAEI,6BAA+D;EPwjEvE;AACF;;AIriEI;EGtBE;IAEI,wBAA+D;EP8jEvE;EOhkEI;IAEI,0BAA+D;EPikEvE;EOnkEI;IAEI,gCAA+D;EPokEvE;EOtkEI;IAEI,yBAA+D;EPukEvE;EOzkEI;IAEI,yBAA+D;EP0kEvE;EO5kEI;IAEI,6BAA+D;EP6kEvE;EO/kEI;IAEI,8BAA+D;EPglEvE;EOllEI;IAEI,wBAA+D;EPmlEvE;EOrlEI;IAEI,+BAA+D;EPslEvE;EOxlEI;IAEI,yBAA+D;EPylEvE;EO3lEI;IAEI,8BAA+D;EP4lEvE;EO9lEI;IAEI,iCAA+D;EP+lEvE;EOjmEI;IAEI,sCAA+D;EPkmEvE;EOpmEI;IAEI,yCAA+D;EPqmEvE;EOvmEI;IAEI,uBAA+D;EPwmEvE;EO1mEI;IAEI,uBAA+D;EP2mEvE;EO7mEI;IAEI,sCAA+D;EP8mEvE;EOhnEI;IAEI,oCAA+D;EPinEvE;EOnnEI;IAEI,kCAA+D;EPonEvE;EOtnEI;IAEI,yCAA+D;EPunEvE;EOznEI;IAEI,wCAA+D;EP0nEvE;EO5nEI;IAEI,wCAA+D;EP6nEvE;EO/nEI;IAEI,kCAA+D;EPgoEvE;EOloEI;IAEI,gCAA+D;EPmoEvE;EOroEI;IAEI,8BAA+D;EPsoEvE;EOxoEI;IAEI,gCAA+D;EPyoEvE;EO3oEI;IAEI,+BAA+D;EP4oEvE;EO9oEI;IAEI,oCAA+D;EP+oEvE;EOjpEI;IAEI,kCAA+D;EPkpEvE;EOppEI;IAEI,gCAA+D;EPqpEvE;EOvpEI;IAEI,uCAA+D;EPwpEvE;EO1pEI;IAEI,sCAA+D;EP2pEvE;EO7pEI;IAEI,iCAA+D;EP8pEv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6FI;IAEI,+BAA+D;EP26FvE;EO76FI;IAEI,6BAA+D;EP86FvE;AACF;;AI35FI;EGtBE;IAEI,wBAA+D;EPo7FvE;EOt7FI;IAEI,0BAA+D;EPu7FvE;EOz7FI;IAEI,gCAA+D;EP07FvE;EO57FI;IAEI,yBAA+D;EP67FvE;EO/7FI;IAEI,yBAA+D;EPg8FvE;EOl8FI;IAEI,6BAA+D;EPm8FvE;EOr8FI;IAEI,8BAA+D;EPs8FvE;EOx8FI;IAEI,wBAA+D;EPy8FvE;EO38FI;IAEI,+BAA+D;EP48FvE;EO98FI;IAEI,yBAA+D;EP+8FvE;EOj9FI;IAEI,8BAA+D;EPk9FvE;EOp9FI;IAEI,iCAA+D;EPq9FvE;EOv9FI;IAEI,sCAA+D;EPw9FvE;EO19FI;IAEI,yCAA+D;EP29FvE;EO79FI;IAEI,uBAA+D;EP89FvE;EOh+FI;IAEI,uBAA+D;EPi+FvE;EOn+FI;IAEI,sCAA+D;EPo+FvE;EOt+FI;IAEI,oCAA+D;EPu+FvE;EOz+FI;IAEI,kCAA+D;EP0+FvE;EO5+FI;IAEI,yCAA+D;EP6+FvE;EO/+FI;IAEI,wCAA+D;EPg/FvE;EOl/FI;IAEI,wCAA+D;EPm/FvE;EOr/FI;IAEI,kCAA+D;EPs/FvE;EOx/FI;IAEI,gCAA+D;EPy/FvE;EO3/FI;IAEI,8BAA+D;EP4/FvE;EO9/FI;IAEI,gCAA+D;EP+/FvE;EOjgGI;IAEI,+BAA+D;EPkgGvE;EOpgGI;IAEI,oCAA+D;EPqgGvE;EOvgGI;IAEI,kCAA+D;EPwgGvE;EO1gGI;IAEI,gCAA+D;EP2gGvE;EO7gGI;IAEI,uCAA+D;EP8gGvE;EOhhGI;IAEI,sCAA+D;EPihGvE;EOnhGI;IAEI,iCAA+D;EPohGvE;EOthGI;IAEI,2BAA+D;EPuhGvE;EOzhGI;IAEI,iCAA+D;EP0hGvE;EO5hGI;IAEI,+BAA+D;EP6hGvE;EO/hGI;IAEI,6BAA+D;EPgiGvE;EOliGI;IAEI,+BAA+D;EPmiGvE;EOriGI;IAEI,8BAA+D;EPsiGvE;EOxiGI;IAEI,oBAA+D;EPyiGvE;EO3iGI;IAEI,mBAA+D;EP4iGvE;EO9iGI;IAEI,mBAA+D;EP+iGvE;EOj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BAA+D;EPgzGvE;EOlzGI;IAEI,4BAA+D;EPmzGvE;EOrzGI;IAEI,2BAA+D;EPszGvE;EOxzGI;IAEI,iCAA+D;EPyzGvE;EO3zGI;IAEI,gCAA+D;EP4zGvE;EO9zGI;IAEI,8BAA+D;EP+zGvE;EOj0GI;IAEI,gCAA+D;EPk0GvE;EOp0GI;IAEI,8BAA+D;EPq0GvE;EOv0GI;IAEI,4BAA+D;EPw0GvE;EO10GI;IAEI,kCAA+D;EP20GvE;EO70GI;IAEI,iCAA+D;EP80GvE;EOh1GI;IAEI,+BAA+D;EPi1GvE;EOn1GI;IAEI,iCAA+D;EPo1GvE;EOt1GI;IAEI,+BAA+D;EPu1GvE;EOz1GI;IAEI,0BAA+D;EP01GvE;EO51GI;IAEI,gCAA+D;EP61GvE;EO/1GI;IAEI,+BAA+D;EPg2GvE;EOl2GI;IAEI,6BAA+D;EPm2GvE;EOr2GI;IAEI,+BAA+D;EPs2GvE;EOx2GI;IAEI,6BAA+D;EPy2GvE;AACF;;AIt1GI;EGtBE;IAEI,wBAA+D;EP+2GvE;EOj3GI;IAEI,0BAA+D;EPk3GvE;EOp3GI;IAEI,gCAA+D;EPq3GvE;EOv3GI;IAEI,yBAA+D;EPw3GvE;EO13GI;IAEI,yBAA+D;EP23GvE;EO73GI;IAEI,6BAA+D;EP83GvE;EOh4GI;IAEI,8BAA+D;EPi4GvE;EOn4GI;IAEI,wBAA+D;EPo4GvE;EOt4GI;IAEI,+BAA+D;EPu4GvE;EOz4GI;IAEI,yBAA+D;EP04GvE;EO54GI;IAEI,8BAA+D;EP64GvE;EO/4GI;IAEI,iCAA+D;EPg5GvE;EOl5GI;IAEI,sCAA+D;EPm5GvE;EOr5GI;IAEI,yCAA+D;EPs5GvE;EOx5GI;IAEI,uBAA+D;EPy5GvE;EO35GI;IAEI,uBAA+D;EP45GvE;EO95GI;IAEI,sCAA+D;EP+5GvE;EOj6GI;IAEI,oCAA+D;EPk6GvE;EOp6GI;IAEI,kCAA+D;EPq6GvE;EOv6GI;IAEI,yCAA+D;EPw6GvE;EO16GI;IAEI,wCAA+D;EP26GvE;EO76GI;IAEI,wCAA+D;EP86GvE;EOh7GI;IAEI,kCAA+D;EPi7GvE;EOn7GI;IAEI,gCAA+D;EPo7GvE;EOt7GI;IAEI,8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","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v5.0.0-alpha1 (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/master/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-alpha1 (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/master/LICENSE)\n */\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl,\n.container-xxl {\n width: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\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: 1 0 100%;\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-none {\n display: none !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.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.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-none {\n display: 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 .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 .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-none {\n display: 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 .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 .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-none {\n display: 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 .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 .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-none {\n display: 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 .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 .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-none {\n display: 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 .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 .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-none {\n display: none !important;\n }\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}\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($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\n margin-right: auto;\n margin-left: auto;\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: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !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-800 !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// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\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: 3 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $gray-900 !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 8) !default;\n$blue-200: tint-color($blue, 6) !default;\n$blue-300: tint-color($blue, 4) !default;\n$blue-400: tint-color($blue, 2) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 2) !default;\n$blue-700: shade-color($blue, 4) !default;\n$blue-800: shade-color($blue, 6) !default;\n$blue-900: shade-color($blue, 8) !default;\n\n$indigo-100: tint-color($indigo, 8) !default;\n$indigo-200: tint-color($indigo, 6) !default;\n$indigo-300: tint-color($indigo, 4) !default;\n$indigo-400: tint-color($indigo, 2) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 2) !default;\n$indigo-700: shade-color($indigo, 4) !default;\n$indigo-800: shade-color($indigo, 6) !default;\n$indigo-900: shade-color($indigo, 8) !default;\n\n$purple-100: tint-color($purple, 8) !default;\n$purple-200: tint-color($purple, 6) !default;\n$purple-300: tint-color($purple, 4) !default;\n$purple-400: tint-color($purple, 2) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 2) !default;\n$purple-700: shade-color($purple, 4) !default;\n$purple-800: shade-color($purple, 6) !default;\n$purple-900: shade-color($purple, 8) !default;\n\n$pink-100: tint-color($pink, 8) !default;\n$pink-200: tint-color($pink, 6) !default;\n$pink-300: tint-color($pink, 4) !default;\n$pink-400: tint-color($pink, 2) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 2) !default;\n$pink-700: shade-color($pink, 4) !default;\n$pink-800: shade-color($pink, 6) !default;\n$pink-900: shade-color($pink, 8) !default;\n\n$red-100: tint-color($red, 8) !default;\n$red-200: tint-color($red, 6) !default;\n$red-300: tint-color($red, 4) !default;\n$red-400: tint-color($red, 2) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 2) !default;\n$red-700: shade-color($red, 4) !default;\n$red-800: shade-color($red, 6) !default;\n$red-900: shade-color($red, 8) !default;\n\n$orange-100: tint-color($orange, 8) !default;\n$orange-200: tint-color($orange, 6) !default;\n$orange-300: tint-color($orange, 4) !default;\n$orange-400: tint-color($orange, 2) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 2) !default;\n$orange-700: shade-color($orange, 4) !default;\n$orange-800: shade-color($orange, 6) !default;\n$orange-900: shade-color($orange, 8) !default;\n\n$yellow-100: tint-color($yellow, 8) !default;\n$yellow-200: tint-color($yellow, 6) !default;\n$yellow-300: tint-color($yellow, 4) !default;\n$yellow-400: tint-color($yellow, 2) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 2) !default;\n$yellow-700: shade-color($yellow, 4) !default;\n$yellow-800: shade-color($yellow, 6) !default;\n$yellow-900: shade-color($yellow, 8) !default;\n\n$green-100: tint-color($green, 8) !default;\n$green-200: tint-color($green, 6) !default;\n$green-300: tint-color($green, 4) !default;\n$green-400: tint-color($green, 2) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 2) !default;\n$green-700: shade-color($green, 4) !default;\n$green-800: shade-color($green, 6) !default;\n$green-900: shade-color($green, 8) !default;\n\n$teal-100: tint-color($teal, 8) !default;\n$teal-200: tint-color($teal, 6) !default;\n$teal-300: tint-color($teal, 4) !default;\n$teal-400: tint-color($teal, 2) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 2) !default;\n$teal-700: shade-color($teal, 4) !default;\n$teal-800: shade-color($teal, 6) !default;\n$teal-900: shade-color($teal, 8) !default;\n\n$cyan-100: tint-color($cyan, 8) !default;\n$cyan-200: tint-color($cyan, 6) !default;\n$cyan-300: tint-color($cyan, 4) !default;\n$cyan-400: tint-color($cyan, 2) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 2) !default;\n$cyan-700: shade-color($cyan, 4) !default;\n$cyan-800: shade-color($cyan, 6) !default;\n$cyan-900: shade-color($cyan, 8) !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-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// 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// 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-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: null !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !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: 1rem !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\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// scss-docs-start embed-responsive-aspect-ratios\n$embed-responsive-aspect-ratios: (\n \"21by9\": (\n x: 21,\n y: 9\n ),\n \"16by9\": (\n x: 16,\n y: 9\n ),\n \"4by3\": (\n x: 4,\n y: 3\n ),\n \"1by1\": (\n x: 1,\n y: 1\n )\n) !default;\n// scss-docs-end embed-responsive-aspect-ratios\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\", 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(--bs-font-sans-serif) !default;\n$font-family-code: var(--bs-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$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-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-seperator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n\n$table-variants: (\n \"primary\": color-level($primary, $table-bg-level),\n \"secondary\": color-level($secondary, $table-bg-level),\n \"success\": color-level($success, $table-bg-level),\n \"info\": color-level($info, $table-bg-level),\n \"warning\": color-level($warning, $table-bg-level),\n \"danger\": color-level($danger, $table-bg-level),\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: .2rem !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: $gray-700 !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: lighten($component-active-bg, 25%) !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: 1.25em !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-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-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\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: lighten($component-active-bg, 35%) !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\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-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-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: $gray-200 !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: darken($gray-900, 5%) !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\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-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\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: darken($popover-bg, 3%) !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: .25rem !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: .25em !default;\n$badge-padding-x: .5em !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-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\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-level: -9 !default;\n$list-group-item-color-level: 6 !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: 20px !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 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 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 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></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\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$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\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","// 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. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `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(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .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 $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $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: 1 0 100%;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1); // stylelint-disable-line function-blacklist\n margin-right: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-blacklist\n margin-left: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-blacklist\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-blacklist\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-blacklist\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","bootstrap-grid.css","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/_variables.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ECKE;ACCA;;;;;;;ECHA,WAAW;EACX,mBCmUwB;EDlUxB,kBCkUwB;EDjUxB,kBAAkB;EAClB,iBAAiB;AFWnB;;AI6CI;EH5CE;IACE,gBE4RG;EHzRT;AACF;;AIuCI;EH5CE;IACE,gBE6RG;EHpRT;AACF;;AIiCI;EH5CE;IACE,gBE8RG;EH/QT;AACF;;AI2BI;EH5CE;IACE,iBE+RI;EH1QV;AACF;;AIqBI;EH5CE;IACE,iBEgSK;EHrQX;AACF;;AK3CE;ECAA,qBAAc;EACd,gBAAc;EACd,aAAa;EACb,cAAc;EACd,eAAe;EACf,yCAAyC;EACzC,2CAA2C;EAC3C,0CAA0C;AN+C5C;;AKtDE;ECYA,sBAAoG;EAIpG,cAAc;EACd,WAAW;EACX,eAAe;EACf,2CAA2C;EAC3C,0CAA0C;EAC1C,8BAA8B;AN2ChC;;AMFM;EACE,YAAY;ANKpB;;AMFM;EApCJ,cAAc;EACd,WAAW;AN0Cb;;AM5BE;EACE,cAAc;EACd,WAAoB;AN+BxB;;AMjCE;EACE,cAAc;EACd,UAAoB;ANoCxB;;AMtCE;EACE,cAAc;EACd,iBAAoB;ANyCxB;;AM3CE;EACE,cAAc;EACd,UAAoB;AN8CxB;;AMhDE;EACE,cAAc;EACd,UAAoB;ANmDxB;;AMrDE;EACE,cAAc;EACd,iBAAoB;ANwDxB;;AMzBM;EAhDJ,cAAc;EACd,WAAW;AN6Eb;;AMxBU;EA3DR,cAAc;EACd,gBAAmC;ANuFrC;;AM7BU;EA3DR,cAAc;EACd,iBAAmC;AN4FrC;;AMlCU;EA3DR,cAAc;EACd,UAAmC;ANiGrC;;AMvCU;EA3DR,cAAc;EACd,iBAAmC;ANsGrC;;AM5CU;EA3DR,cAAc;EACd,iBAAmC;AN2GrC;;AMjDU;EA3DR,cAAc;EACd,UAAmC;ANgHrC;;AMtDU;EA3DR,cAAc;EACd,iBAAmC;ANqHrC;;AM3DU;EA3DR,cAAc;EACd,iBAAmC;AN0HrC;;AMhEU;EA3DR,cAAc;EACd,UAAmC;AN+HrC;;AMrEU;EA3DR,cAAc;EACd,iBAAmC;ANoIrC;;AM1EU;EA3DR,cAAc;EACd,iBAAmC;ANyIrC;;AM/EU;EA3DR,cAAc;EACd,WAAmC;AN8IrC;;AM5EY;EAxDV,sBAA8C;ANwIhD;;AMhFY;EAxDV,uBAA8C;AN4IhD;;AMpFY;EAxDV,gBAA8C;ANgJhD;;AMxFY;EAxDV,uBAA8C;ANoJhD;;AM5FY;EAxDV,uBAA8C;ANwJhD;;AMhGY;EAxDV,gBAA8C;AN4JhD;;AMpGY;EAxDV,uBAA8C;ANgKhD;;AMxGY;EAxDV,uBAA8C;ANoKhD;;AM5GY;EAxDV,gBAA8C;ANwKhD;;AMhHY;EAxDV,uBAA8C;AN4KhD;;AMpHY;EAxDV,uBAA8C;ANgLhD;;AM7GQ;;EAEE,gBAAc;ANgHxB;;AM7GQ;;EAEE,gBAAc;ANgHxB;;AMvHQ;;EAEE,sBAAc;AN0HxB;;AMvHQ;;EAEE,sBAAc;AN0HxB;;AMjIQ;;EAEE,qBAAc;ANoIxB;;AMjIQ;;EAEE,qBAAc;ANoIxB;;AM3IQ;;EAEE,mBAAc;AN8IxB;;AM3IQ;;EAEE,mBAAc;AN8IxB;;AMrJQ;;EAEE,qBAAc;ANwJxB;;AMrJQ;;EAEE,qBAAc;ANwJxB;;AM/JQ;;EAEE,mBAAc;ANkKxB;;AM/JQ;;EAEE,mBAAc;ANkKxB;;AItNI;EEIE;IACE,YAAY;ENsNlB;EMnNI;IApCJ,cAAc;IACd,WAAW;EN0PX;EM5OA;IACE,cAAc;IACd,WAAoB;EN8OtB;EMhPA;IACE,cAAc;IACd,UAAoB;ENkPtB;EMpPA;IACE,cAAc;IACd,iBAAoB;ENsPtB;EMxPA;IACE,cAAc;IACd,UAAoB;EN0PtB;EM5PA;IACE,cAAc;IACd,UAAoB;EN8PtB;EMhQA;IACE,cAAc;IACd,iBAAoB;ENkQtB;EMnOI;IAhDJ,cAAc;IACd,WAAW;ENsRX;EMjOQ;IA3DR,cAAc;IACd,gBAAmC;EN+RnC;EMrOQ;IA3DR,cAAc;IACd,iBAAmC;ENmSnC;EMzOQ;IA3DR,cAAc;IACd,UAAmC;ENuSnC;EM7OQ;IA3DR,cAAc;IACd,iBAAmC;EN2SnC;EMjPQ;IA3DR,cAAc;IACd,iBAAmC;EN+SnC;EMrPQ;IA3DR,cAAc;IACd,UAAmC;ENmTnC;EMzPQ;IA3DR,cAAc;IACd,iBAAmC;ENuTnC;EM7PQ;IA3DR,cAAc;IACd,iBAAmC;EN2TnC;EMjQQ;IA3DR,cAAc;IACd,UAAmC;EN+TnC;EMrQQ;IA3DR,cAAc;IACd,iBAAmC;ENmUnC;EMzQQ;IA3DR,cAAc;IACd,iBAAmC;ENuUnC;EM7QQ;IA3DR,cAAc;IACd,WAAmC;EN2UnC;EMzQU;IAxDV,cAA4B;ENoU5B;EM5QU;IAxDV,sBAA8C;ENuU9C;EM/QU;IAxDV,uBAA8C;EN0U9C;EMlRU;IAxDV,gBAA8C;EN6U9C;EMrRU;IAxDV,uBAA8C;ENgV9C;EMxRU;IAxDV,uBAA8C;ENmV9C;EM3RU;IAxDV,gBAA8C;ENsV9C;EM9RU;IAxDV,uBAA8C;ENyV9C;EMjSU;IAxDV,uBAA8C;EN4V9C;EMpSU;IAxDV,gBAA8C;EN+V9C;EMvSU;IAxDV,uBAA8C;ENkW9C;EM1SU;IAxDV,uBAA8C;ENqW9C;EMlSM;;IAEE,gBAAc;ENoStB;EMjSM;;IAEE,gBAAc;ENmStB;EM1SM;;IAEE,sBAAc;EN4StB;EMzSM;;IAEE,sBAAc;EN2StB;EMlTM;;IAEE,qBAAc;ENoTtB;EMjTM;;IAEE,qBAAc;ENmTtB;EM1TM;;IAEE,mBAAc;EN4TtB;EMzTM;;IAEE,mBAAc;EN2TtB;EMlUM;;IAEE,qBAAc;ENoUtB;EMjUM;;IAEE,qBAAc;ENmUtB;EM1UM;;IAEE,mBAAc;EN4UtB;EMzUM;;IAEE,mBAAc;EN2UtB;AACF;;AIhYI;EEIE;IACE,YAAY;ENgYlB;EM7XI;IApCJ,cAAc;IACd,WAAW;ENoaX;EMtZA;IACE,cAAc;IACd,WAAoB;ENwZtB;EM1ZA;IACE,cAAc;IACd,UAAoB;EN4ZtB;EM9ZA;IACE,cAAc;IACd,iBAAoB;ENgatB;EMlaA;IACE,cAAc;IACd,UAAoB;ENoatB;EMtaA;IACE,cAAc;IACd,UAAoB;ENwatB;EM1aA;IACE,cAAc;IACd,iBAAoB;EN4atB;EM7YI;IAhDJ,cAAc;IACd,WAAW;ENgcX;EM3YQ;IA3DR,cAAc;IACd,gBAAmC;ENycnC;EM/YQ;IA3DR,cAAc;IACd,iBAAmC;EN6cnC;EMnZQ;IA3DR,cAAc;IACd,UAAmC;ENidnC;EMvZQ;IA3DR,cAAc;IACd,iBAAmC;ENqdnC;EM3ZQ;IA3DR,cAAc;IACd,iBAAmC;ENydnC;EM/ZQ;IA3DR,cAAc;IACd,UAAmC;EN6dnC;EMnaQ;IA3DR,cAAc;IACd,iBAAmC;ENienC;EMvaQ;IA3DR,cAAc;IACd,iBAAmC;ENqenC;EM3aQ;IA3DR,cAAc;IACd,UAAmC;ENyenC;EM/aQ;IA3DR,cAAc;IACd,iBAAmC;EN6enC;EMnbQ;IA3DR,cAAc;IACd,iBAAmC;ENifnC;EMvbQ;IA3DR,cAAc;IACd,WAAmC;ENqfnC;EMnbU;IAxDV,cAA4B;EN8e5B;EMtbU;IAxDV,sBAA8C;ENif9C;EMzbU;IAxDV,uBAA8C;ENof9C;EM5bU;IAxDV,gBAA8C;ENuf9C;EM/bU;IAxDV,uBAA8C;EN0f9C;EMlcU;IAxDV,uBAA8C;EN6f9C;EMrcU;IAxDV,gBAA8C;ENggB9C;EMxcU;IAxDV,uBAA8C;ENmgB9C;EM3cU;IAxDV,uBAA8C;ENsgB9C;EM9cU;IAxDV,gBAA8C;ENygB9C;EMjdU;IAxDV,uBAA8C;EN4gB9C;EMpdU;IAxDV,uBAA8C;EN+gB9C;EM5cM;;IAEE,gBAAc;EN8ctB;EM3cM;;IAEE,gBAAc;EN6ctB;EMpdM;;IAEE,sBAAc;ENsdtB;EMndM;;IAEE,sBAAc;ENqdtB;EM5dM;;IAEE,qBAAc;EN8dtB;EM3dM;;IAEE,qBAAc;EN6dtB;EMpeM;;IAEE,mBAAc;ENsetB;EMneM;;IAEE,mBAAc;ENqetB;EM5eM;;IAEE,qBAAc;EN8etB;EM3eM;;IAEE,qBAAc;EN6etB;EMpfM;;IAEE,mBAAc;ENsftB;EMnfM;;IAEE,mBAAc;ENqftB;AACF;;AI1iBI;EEIE;IACE,YAAY;EN0iBlB;EMviBI;IApCJ,cAAc;IACd,WAAW;EN8kBX;EMhkBA;IACE,cAAc;IACd,WAAoB;ENkkBtB;EMpkBA;IACE,cAAc;IACd,UAAoB;ENskBtB;EMxkBA;IACE,cAAc;IACd,iBAAoB;EN0kBtB;EM5kBA;IACE,cAAc;IACd,UAAoB;EN8kBtB;EMhlBA;IACE,cAAc;IACd,UAAoB;ENklBtB;EMplBA;IACE,cAAc;IACd,iBAAoB;ENslBtB;EMvjBI;IAhDJ,cAAc;IACd,WAAW;EN0mBX;EMrjBQ;IA3DR,cAAc;IACd,gBAAmC;ENmnBnC;EMzjBQ;IA3DR,cAAc;IACd,iBAAmC;ENunBnC;EM7jBQ;IA3DR,cAAc;IACd,UAAmC;EN2nBnC;EMjkBQ;IA3DR,cAAc;IACd,iBAAmC;EN+nBnC;EMrkBQ;IA3DR,cAAc;IACd,iBAAmC;ENmoBnC;EMzkBQ;IA3DR,cAAc;IACd,UAAmC;ENuoBnC;EM7kBQ;IA3DR,cAAc;IACd,iBAAmC;EN2oBnC;EMjlBQ;IA3DR,cAAc;IACd,iBAAmC;EN+oBnC;EMrlBQ;IA3DR,cAAc;IACd,UAAmC;ENmpBnC;EMzlBQ;IA3DR,cAAc;IACd,iBAAmC;ENupBnC;EM7lBQ;IA3DR,cAAc;IACd,iBAAmC;EN2pBnC;EMjmBQ;IA3DR,cAAc;IACd,WAAmC;EN+pBnC;EM7lBU;IAxDV,cAA4B;ENwpB5B;EMhmBU;IAxDV,sBAA8C;EN2pB9C;EMnmBU;IAxDV,uBAA8C;EN8pB9C;EMtmBU;IAxDV,gBAA8C;ENiqB9C;EMzmBU;IAxDV,uBAA8C;ENoqB9C;EM5mBU;IAxDV,uBAA8C;ENuqB9C;EM/mBU;IAxDV,gBAA8C;EN0qB9C;EMlnBU;IAxDV,uBAA8C;EN6qB9C;EMrnBU;IAxDV,uBAA8C;ENgrB9C;EMxnBU;IAxDV,gBAA8C;ENmrB9C;EM3nBU;IAxDV,uBAA8C;ENsrB9C;EM9nBU;IAxDV,uBAA8C;ENyrB9C;EMtnBM;;IAEE,gBAAc;ENwnBtB;EMrnBM;;IAEE,gBAAc;ENunBtB;EM9nBM;;IAEE,sBAAc;ENgoBtB;EM7nBM;;IAEE,sBAAc;EN+nBtB;EMtoBM;;IAEE,qBAAc;ENwoBtB;EMroBM;;IAEE,qBAAc;ENuoBtB;EM9oBM;;IAEE,mBAAc;ENgpBtB;EM7oBM;;IAEE,mBAAc;EN+oBtB;EMtpBM;;IAEE,qBAAc;ENwpBtB;EMrpBM;;IAEE,qBAAc;ENupBtB;EM9pBM;;IAEE,mBAAc;ENgqBtB;EM7pBM;;IAEE,mBAAc;EN+pBtB;AACF;;AIptBI;EEIE;IACE,YAAY;ENotBlB;EMjtBI;IApCJ,cAAc;IACd,WAAW;ENwvBX;EM1uBA;IACE,cAAc;IACd,WAAoB;EN4uBtB;EM9uBA;IACE,cAAc;IACd,UAAoB;ENgvBtB;EMlvBA;IACE,cAAc;IACd,iBAAoB;ENovBtB;EMtvBA;IACE,cAAc;IACd,UAAoB;ENwvBtB;EM1vBA;IACE,cAAc;IACd,UAAoB;EN4vBtB;EM9vBA;IACE,cAAc;IACd,iBAAoB;ENgwBtB;EMjuBI;IAhDJ,cAAc;IACd,WAAW;ENoxBX;EM/tBQ;IA3DR,cAAc;IACd,gBAAmC;EN6xBnC;EMnuBQ;IA3DR,cAAc;IACd,iBAAmC;ENiyBnC;EMvuBQ;IA3DR,cAAc;IACd,UAAmC;ENqyBnC;EM3uBQ;IA3DR,cAAc;IACd,iBAAmC;ENyyBnC;EM/uBQ;IA3DR,cAAc;IACd,iBAAmC;EN6yBnC;EMnvBQ;IA3DR,cAAc;IACd,UAAmC;ENizBnC;EMvvBQ;IA3DR,cAAc;IACd,iBAAmC;ENqzBnC;EM3vBQ;IA3DR,cAAc;IACd,iBAAmC;ENyzBnC;EM/vBQ;IA3DR,cAAc;IACd,UAAmC;EN6zBnC;EMnwBQ;IA3DR,cAAc;IACd,iBAAmC;ENi0BnC;EMvwBQ;IA3DR,cAAc;IACd,iBAAmC;ENq0BnC;EM3wBQ;IA3DR,cAAc;IACd,WAAmC;ENy0BnC;EMvwBU;IAxDV,cAA4B;ENk0B5B;EM1wBU;IAxDV,sBAA8C;ENq0B9C;EM7wBU;IAxDV,uBAA8C;ENw0B9C;EMhxBU;IAxDV,gBAA8C;EN20B9C;EMnxBU;IAxDV,uBAA8C;EN80B9C;EMtxBU;IAxDV,uBAA8C;ENi1B9C;EMzxBU;IAxDV,gBAA8C;ENo1B9C;EM5xBU;IAxDV,uBAA8C;ENu1B9C;EM/xBU;IAxDV,uBAA8C;EN01B9C;EMlyBU;IAxDV,gBAA8C;EN61B9C;EMryBU;IAxDV,uBAA8C;ENg2B9C;EMxyBU;IAxDV,uBAA8C;ENm2B9C;EMhyBM;;IAEE,gBAAc;ENkyBtB;EM/xBM;;IAEE,gBAAc;ENiyBtB;EMxyBM;;IAEE,sBAAc;EN0yBtB;EMvyBM;;IAEE,sBAAc;ENyyBtB;EMhzBM;;IAEE,qBAAc;ENkzBtB;EM/yBM;;IAEE,qBAAc;ENizBtB;EMxzBM;;IAEE,mBAAc;EN0zBtB;EMvzBM;;IAEE,mBAAc;ENyzBtB;EMh0BM;;IAEE,qBAAc;ENk0BtB;EM/zBM;;IAEE,qBAAc;ENi0BtB;EMx0BM;;IAEE,mBAAc;EN00BtB;EMv0BM;;IAEE,mBAAc;ENy0BtB;AACF;;AI93BI;EEIE;IACE,YAAY;EN83BlB;EM33BI;IApCJ,cAAc;IACd,WAAW;ENk6BX;EMp5BA;IACE,cAAc;IACd,WAAoB;ENs5BtB;EMx5BA;IACE,cAAc;IACd,UAAoB;EN05BtB;EM55BA;IACE,cAAc;IACd,iBAAoB;EN85BtB;EMh6BA;IACE,cAAc;IACd,UAAoB;ENk6BtB;EMp6BA;IACE,cAAc;IACd,UAAoB;ENs6BtB;EMx6BA;IACE,cAAc;IACd,iBAAoB;EN06BtB;EM34BI;IAhDJ,cAAc;IACd,WAAW;EN87BX;EMz4BQ;IA3DR,cAAc;IACd,gBAAmC;ENu8BnC;EM74BQ;IA3DR,cAAc;IACd,iBAAmC;EN28BnC;EMj5BQ;IA3DR,cAAc;IACd,UAAmC;EN+8BnC;EMr5BQ;IA3DR,cAAc;IACd,iBAAmC;ENm9BnC;EMz5BQ;IA3DR,cAAc;IACd,iBAAmC;ENu9BnC;EM75BQ;IA3DR,cAAc;IACd,UAAmC;EN29BnC;EMj6BQ;IA3DR,cAAc;IACd,iBAAmC;EN+9BnC;EMr6BQ;IA3DR,cAAc;IACd,iBAAmC;ENm+BnC;EMz6BQ;IA3DR,cAAc;IACd,UAAmC;ENu+BnC;EM76BQ;IA3DR,cAAc;IACd,iBAAmC;EN2+BnC;EMj7BQ;IA3DR,cAAc;IACd,iBAAmC;EN++BnC;EMr7BQ;IA3DR,cAAc;IACd,WAAmC;ENm/BnC;EMj7BU;IAxDV,cAA4B;EN4+B5B;EMp7BU;IAxDV,sBAA8C;EN++B9C;EMv7BU;IAxDV,uBAA8C;ENk/B9C;EM17BU;IAxDV,gBAA8C;ENq/B9C;EM77BU;IAxDV,uBAA8C;ENw/B9C;EMh8BU;IAxDV,uBAA8C;EN2/B9C;EMn8BU;IAxDV,gBAA8C;EN8/B9C;EMt8BU;IAxDV,uBAA8C;ENigC9C;EMz8BU;IAxDV,uBAA8C;ENogC9C;EM58BU;IAxDV,gBAA8C;ENugC9C;EM/8BU;IAxDV,uBAA8C;EN0gC9C;EMl9BU;IAxDV,uBAA8C;EN6gC9C;EM18BM;;IAEE,gBAAc;EN48BtB;EMz8BM;;IAEE,gBAAc;EN28BtB;EMl9BM;;IAEE,sBAAc;ENo9BtB;EMj9BM;;IAEE,sBAAc;ENm9BtB;EM19BM;;IAEE,qBAAc;EN49BtB;EMz9BM;;IAEE,qBAAc;EN29BtB;EMl+BM;;IAEE,mBAAc;ENo+BtB;EMj+BM;;IAEE,mBAAc;ENm+BtB;EM1+BM;;IAEE,qBAAc;EN4+BtB;EMz+BM;;IAEE,qBAAc;EN2+BtB;EMl/BM;;IAEE,mBAAc;ENo/BtB;EMj/BM;;IAEE,mBAAc;ENm/BtB;AACF;;AO9jCM;EAEI,wBAA+D;APgkCzE;;AOlkCM;EAEI,0BAA+D;APokCzE;;AOtkCM;EAEI,gCAA+D;APwkCzE;;AO1kCM;EAEI,yBAA+D;AP4kCzE;;AO9kCM;EAEI,yBAA+D;APglCzE;;AOllCM;EAEI,6BAA+D;APolCzE;;AOtlCM;EAEI,8BAA+D;APwlCzE;;AO1lCM;EAEI,wBAA+D;AP4lCzE;;AO9lCM;EAEI,+BAA+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,sCAA+D;APgoCzE;;AOloCM;EAEI,oCAA+D;APooCzE;;AOtoCM;EAEI,kCAA+D;APwoCzE;;AO1oCM;EAEI,yCAA+D;AP4oCzE;;AO9oCM;EAEI,wCAA+D;APgpCzE;;AOlpCM;EAEI,wCAA+D;APopCzE;;AOtpCM;EAEI,kCAA+D;APwpCzE;;AO1pCM;EAEI,gCAA+D;AP4pCzE;;AO9pCM;EAEI,8BAA+D;APgqCzE;;AOlqCM;EAEI,gCAA+D;APoqCzE;;AOtqCM;EAEI,+BAA+D;APwqCzE;;AO1qCM;EAEI,oCAA+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pDI;IAEI,8BAA+D;EPqpDvE;EOvpDI;IAEI,wBAA+D;EPwpDvE;EO1pDI;IAEI,+BAA+D;EP2pDvE;EO7pDI;IAEI,yBAA+D;EP8pDvE;EOhqDI;IAEI,8BAA+D;EPiqDvE;EOnqDI;IAEI,iCAA+D;EPoqDvE;EOtqDI;IAEI,sCAA+D;EPuqDvE;EOzqDI;IAEI,yCAA+D;EP0qDvE;EO5qDI;IAEI,uBAA+D;EP6qDvE;EO/qDI;IAEI,uBAA+D;EPgrDvE;EOlrDI;IAEI,sCAA+D;EPmrDvE;EOrrDI;IAEI,oCAA+D;EPsrDvE;EOxrDI;IAEI,kCAA+D;EPyrDvE;EO3rDI;IAEI,yCAA+D;EP4rDvE;EO9rDI;IAEI,wCAA+D;EP+rDvE;EOjsDI;IAEI,wCAA+D;EPksDvE;EOpsDI;IAEI,kCAA+D;EPqsDvE;EOvsDI;IAEI,gCAA+D;EPwsDvE;EO1sDI;IAEI,8BAA+D;EP2sDvE;EO7sDI;IAEI,gCAA+D;EP8sDvE;EOhtDI;IAEI,+BAA+D;EPitDvE;EOntDI;IAEI,oCAA+D;EPotDvE;EOttDI;IAEI,kCAA+D;EPutDvE;EOztDI;IAEI,gCAA+D;EP0tDvE;EO5tDI;IAEI,uCAA+D;EP6tDvE;EO/tDI;IAEI,sCAA+D;EPguDvE;EOluDI;IAEI,iCAA+D;EPmuDvE;EOruDI;IAEI,2BAA+D;EPsuDvE;EOxuDI;IAEI,iCAA+D;EPyuDvE;EO3uDI;IAEI,+BAA+D;EP4uDvE;EO9uDI;IAEI,6BAA+D;EP+uDvE;EOjvDI;IAEI,+BAA+D;EPkvDvE;EOpvDI;IAEI,8BAA+D;EPqvDvE;EOvvDI;IAEI,oBAA+D;EPwvDvE;EO1vDI;IAEI,mBAA+D;EP2vDvE;EO7vDI;IAEI,mBAA+D;EP8vDvE;EOhwDI;IAEI,mBAA+D;EPiwDvE;EOnwDI;IAEI,mBAA+D;EPowDvE;EOtwDI;IAEI,mBAA+D;EPuwDvE;EOzwDI;IAEI,mBAA+D;EP0wDvE;EO5wDI;IAEI,mBAA+D;EP6wDvE;EO/wDI;IAEI,oBAA+D;EPgxDvE;EOlxDI;IAEI,0BAA+D;EPmxDvE;EOrxDI;IAEI,yBAA+D;EPsxDvE;EOxxDI;IAEI,uBA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E;EOzhEI;IAEI,kCAA+D;EP0hEvE;EO5hEI;IAEI,iCAA+D;EP6hEvE;EO/hEI;IAEI,+BAA+D;EPgiEvE;EOliEI;IAEI,iCAA+D;EPmiEvE;EOriEI;IAEI,+BAA+D;EPsiEvE;EOxiEI;IAEI,0BAA+D;EPyiEvE;EO3iEI;IAEI,gCAA+D;EP4iEvE;EO9iEI;IAEI,+BAA+D;EP+iEvE;EOjjEI;IAEI,6BAA+D;EPkjEvE;EOpjEI;IAEI,+BAA+D;EPqjEvE;EOvjEI;IAEI,6BAA+D;EPwjEvE;AACF;;AIriEI;EGtBE;IAEI,wBAA+D;EP8jEvE;EOhkEI;IAEI,0BAA+D;EPikEvE;EOnkEI;IAEI,gCAA+D;EPokEvE;EOtkEI;IAEI,yBAA+D;EPukEvE;EOzkEI;IAEI,yBAA+D;EP0kEvE;EO5kEI;IAEI,6BAA+D;EP6kEvE;EO/kEI;IAEI,8BAA+D;EPglEvE;EOllEI;IAEI,wBAA+D;EPmlEvE;EOrlEI;IAEI,+BAA+D;EPslEvE;EOxlEI;IAEI,yBAA+D;EPylEvE;EO3lEI;IAEI,8BAA+D;EP4lEvE;EO9lEI;IAEI,iCAA+D;EP+lEvE;EOjmEI;IAEI,sCAA+D;EPkmEvE;EOpmEI;IAEI,yCAA+D;EPqmEvE;EOvmEI;IAEI,uBAA+D;EPwmEvE;EO1mEI;IAEI,uBAA+D;EP2mEvE;EO7mEI;IAEI,sCAA+D;EP8mEvE;EOhnEI;IAEI,oCAA+D;EPinEvE;EOnnEI;IAEI,kCAA+D;EPonEvE;EOtnEI;IAEI,yCAA+D;EPunEvE;EOznEI;IAEI,wCAA+D;EP0nEvE;EO5nEI;IAEI,wCAA+D;EP6nEvE;EO/nEI;IAEI,kCAA+D;EPgoEvE;EOloEI;IAEI,gCAA+D;EPmoEvE;EOroEI;IAEI,8BAA+D;EPsoEvE;EOxoEI;IAEI,gCAA+D;EPyoEvE;EO3oEI;IAEI,+BAA+D;EP4oEvE;EO9oEI;IAEI,oCAA+D;EP+oEvE;EOjpEI;IAEI,kCAA+D;EPkpEvE;EOppEI;IAEI,gCAA+D;EPqpEvE;EOvpEI;IAEI,uCAA+D;EPwpEvE;EO1pEI;IAEI,sCAA+D;EP2pEvE;EO7pEI;IAEI,iCAA+D;EP8pEv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6FI;IAEI,+BAA+D;EP26FvE;EO76FI;IAEI,6BAA+D;EP86FvE;AACF;;AI35FI;EGtBE;IAEI,wBAA+D;EPo7FvE;EOt7FI;IAEI,0BAA+D;EPu7FvE;EOz7FI;IAEI,gCAA+D;EP07FvE;EO57FI;IAEI,yBAA+D;EP67FvE;EO/7FI;IAEI,yBAA+D;EPg8FvE;EOl8FI;IAEI,6BAA+D;EPm8FvE;EOr8FI;IAEI,8BAA+D;EPs8FvE;EOx8FI;IAEI,wBAA+D;EPy8FvE;EO38FI;IAEI,+BAA+D;EP48FvE;EO98FI;IAEI,yBAA+D;EP+8FvE;EOj9FI;IAEI,8BAA+D;EPk9FvE;EOp9FI;IAEI,iCAA+D;EPq9FvE;EOv9FI;IAEI,sCAA+D;EPw9FvE;EO19FI;IAEI,yCAA+D;EP29FvE;EO79FI;IAEI,uBAA+D;EP89FvE;EOh+FI;IAEI,uBAA+D;EPi+FvE;EOn+FI;IAEI,sCAA+D;EPo+FvE;EOt+FI;IAEI,oCAA+D;EPu+FvE;EOz+FI;IAEI,kCAA+D;EP0+FvE;EO5+FI;IAEI,yCAA+D;EP6+FvE;EO/+FI;IAEI,wCAA+D;EPg/FvE;EOl/FI;IAEI,wCAA+D;EPm/FvE;EOr/FI;IAEI,kCAA+D;EPs/FvE;EOx/FI;IAEI,gCAA+D;EPy/FvE;EO3/FI;IAEI,8BAA+D;EP4/FvE;EO9/FI;IAEI,gCAA+D;EP+/FvE;EOjgGI;IAEI,+BAA+D;EPkgGvE;EOpgGI;IAEI,oCAA+D;EPqgGvE;EOvgGI;IAEI,kCAA+D;EPwgGvE;EO1gGI;IAEI,gCAA+D;EP2gGvE;EO7gGI;IAEI,uCAA+D;EP8gGvE;EOhhGI;IAEI,sCAA+D;EPihGvE;EOnhGI;IAEI,iCAA+D;EPohGvE;EOthGI;IAEI,2BAA+D;EPuhGvE;EOzhGI;IAEI,iCAA+D;EP0hGvE;EO5hGI;IAEI,+BAA+D;EP6hGvE;EO/hGI;IAEI,6BAA+D;EPgiGvE;EOliGI;IAEI,+BAA+D;EPmiGvE;EOriGI;IAEI,8BAA+D;EPsiGvE;EOxiGI;IAEI,oBAA+D;EPyiGvE;EO3iGI;IAEI,mBAA+D;EP4iGvE;EO9iGI;IAEI,mBAA+D;EP+iGvE;EOj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BAA+D;EPgzGvE;EOlzGI;IAEI,4BAA+D;EPmzGvE;EOrzGI;IAEI,2BAA+D;EPszGvE;EOxzGI;IAEI,iCAA+D;EPyzGvE;EO3zGI;IAEI,gCAA+D;EP4zGvE;EO9zGI;IAEI,8BAA+D;EP+zGvE;EOj0GI;IAEI,gCAA+D;EPk0GvE;EOp0GI;IAEI,8BAA+D;EPq0GvE;EOv0GI;IAEI,4BAA+D;EPw0GvE;EO10GI;IAEI,kCAA+D;EP20GvE;EO70GI;IAEI,iCAA+D;EP80GvE;EOh1GI;IAEI,+BAA+D;EPi1GvE;EOn1GI;IAEI,iCAA+D;EPo1GvE;EOt1GI;IAEI,+BAA+D;EPu1GvE;EOz1GI;IAEI,0BAA+D;EP01GvE;EO51GI;IAEI,gCAA+D;EP61GvE;EO/1GI;IAEI,+BAA+D;EPg2GvE;EOl2GI;IAEI,6BAA+D;EPm2GvE;EOr2GI;IAEI,+BAA+D;EPs2GvE;EOx2GI;IAEI,6BAA+D;EPy2GvE;AACF;;AIt1GI;EGtBE;IAEI,wBAA+D;EP+2GvE;EOj3GI;IAEI,0BAA+D;EPk3GvE;EOp3GI;IAEI,gCAA+D;EPq3GvE;EOv3GI;IAEI,yBAA+D;EPw3GvE;EO13GI;IAEI,yBAA+D;EP23GvE;EO73GI;IAEI,6BAA+D;EP83GvE;EOh4GI;IAEI,8BAA+D;EPi4GvE;EOn4GI;IAEI,wBAA+D;EPo4GvE;EOt4GI;IAEI,+BAA+D;EPu4GvE;EOz4GI;IAEI,yBAA+D;EP04GvE;EO54GI;IAEI,8BAA+D;EP64GvE;EO/4GI;IAEI,iCAA+D;EPg5GvE;EOl5GI;IAEI,sCAA+D;EPm5GvE;EOr5GI;IAEI,yCAA+D;EPs5GvE;EOx5GI;IAEI,uBAA+D;EPy5GvE;EO35GI;IAEI,uBAA+D;EP45GvE;EO95GI;IAEI,sCAA+D;EP+5GvE;EOj6GI;IAEI,oCAA+D;EPk6GvE;EOp6GI;IAEI,kCAA+D;EPq6GvE;EOv6GI;IAEI,yCAA+D;EPw6GvE;EO16GI;IAEI,wCAA+D;EP26GvE;EO76GI;IAEI,wCAA+D;EP86GvE;EOh7GI;IAEI,kCAA+D;EPi7GvE;EOn7GI;IAEI,gCAA+D;EPo7GvE;EOt7GI;IAEI,8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","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v5.0.0-alpha1 (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-alpha1 (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 width: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\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: 1 0 100%;\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-none {\n display: none !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.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.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-none {\n display: 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 .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 .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-none {\n display: 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 .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 .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-none {\n display: 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 .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 .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-none {\n display: 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 .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 .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-none {\n display: 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 .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 .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-none {\n display: none !important;\n }\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}\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($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\n margin-right: auto;\n margin-left: auto;\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: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !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-800 !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// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\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: 3 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $gray-900 !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 8) !default;\n$blue-200: tint-color($blue, 6) !default;\n$blue-300: tint-color($blue, 4) !default;\n$blue-400: tint-color($blue, 2) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 2) !default;\n$blue-700: shade-color($blue, 4) !default;\n$blue-800: shade-color($blue, 6) !default;\n$blue-900: shade-color($blue, 8) !default;\n\n$indigo-100: tint-color($indigo, 8) !default;\n$indigo-200: tint-color($indigo, 6) !default;\n$indigo-300: tint-color($indigo, 4) !default;\n$indigo-400: tint-color($indigo, 2) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 2) !default;\n$indigo-700: shade-color($indigo, 4) !default;\n$indigo-800: shade-color($indigo, 6) !default;\n$indigo-900: shade-color($indigo, 8) !default;\n\n$purple-100: tint-color($purple, 8) !default;\n$purple-200: tint-color($purple, 6) !default;\n$purple-300: tint-color($purple, 4) !default;\n$purple-400: tint-color($purple, 2) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 2) !default;\n$purple-700: shade-color($purple, 4) !default;\n$purple-800: shade-color($purple, 6) !default;\n$purple-900: shade-color($purple, 8) !default;\n\n$pink-100: tint-color($pink, 8) !default;\n$pink-200: tint-color($pink, 6) !default;\n$pink-300: tint-color($pink, 4) !default;\n$pink-400: tint-color($pink, 2) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 2) !default;\n$pink-700: shade-color($pink, 4) !default;\n$pink-800: shade-color($pink, 6) !default;\n$pink-900: shade-color($pink, 8) !default;\n\n$red-100: tint-color($red, 8) !default;\n$red-200: tint-color($red, 6) !default;\n$red-300: tint-color($red, 4) !default;\n$red-400: tint-color($red, 2) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 2) !default;\n$red-700: shade-color($red, 4) !default;\n$red-800: shade-color($red, 6) !default;\n$red-900: shade-color($red, 8) !default;\n\n$orange-100: tint-color($orange, 8) !default;\n$orange-200: tint-color($orange, 6) !default;\n$orange-300: tint-color($orange, 4) !default;\n$orange-400: tint-color($orange, 2) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 2) !default;\n$orange-700: shade-color($orange, 4) !default;\n$orange-800: shade-color($orange, 6) !default;\n$orange-900: shade-color($orange, 8) !default;\n\n$yellow-100: tint-color($yellow, 8) !default;\n$yellow-200: tint-color($yellow, 6) !default;\n$yellow-300: tint-color($yellow, 4) !default;\n$yellow-400: tint-color($yellow, 2) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 2) !default;\n$yellow-700: shade-color($yellow, 4) !default;\n$yellow-800: shade-color($yellow, 6) !default;\n$yellow-900: shade-color($yellow, 8) !default;\n\n$green-100: tint-color($green, 8) !default;\n$green-200: tint-color($green, 6) !default;\n$green-300: tint-color($green, 4) !default;\n$green-400: tint-color($green, 2) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 2) !default;\n$green-700: shade-color($green, 4) !default;\n$green-800: shade-color($green, 6) !default;\n$green-900: shade-color($green, 8) !default;\n\n$teal-100: tint-color($teal, 8) !default;\n$teal-200: tint-color($teal, 6) !default;\n$teal-300: tint-color($teal, 4) !default;\n$teal-400: tint-color($teal, 2) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 2) !default;\n$teal-700: shade-color($teal, 4) !default;\n$teal-800: shade-color($teal, 6) !default;\n$teal-900: shade-color($teal, 8) !default;\n\n$cyan-100: tint-color($cyan, 8) !default;\n$cyan-200: tint-color($cyan, 6) !default;\n$cyan-300: tint-color($cyan, 4) !default;\n$cyan-400: tint-color($cyan, 2) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 2) !default;\n$cyan-700: shade-color($cyan, 4) !default;\n$cyan-800: shade-color($cyan, 6) !default;\n$cyan-900: shade-color($cyan, 8) !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-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// 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// 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-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: null !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !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: 1rem !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\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// scss-docs-start embed-responsive-aspect-ratios\n$embed-responsive-aspect-ratios: (\n \"21by9\": (\n x: 21,\n y: 9\n ),\n \"16by9\": (\n x: 16,\n y: 9\n ),\n \"4by3\": (\n x: 4,\n y: 3\n ),\n \"1by1\": (\n x: 1,\n y: 1\n )\n) !default;\n// scss-docs-end embed-responsive-aspect-ratios\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\", 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(--bs-font-sans-serif) !default;\n$font-family-code: var(--bs-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$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-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-seperator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n\n$table-variants: (\n \"primary\": color-level($primary, $table-bg-level),\n \"secondary\": color-level($secondary, $table-bg-level),\n \"success\": color-level($success, $table-bg-level),\n \"info\": color-level($info, $table-bg-level),\n \"warning\": color-level($warning, $table-bg-level),\n \"danger\": color-level($danger, $table-bg-level),\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: .2rem !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: $gray-700 !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: lighten($component-active-bg, 25%) !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: 1.25em !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-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-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\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: lighten($component-active-bg, 35%) !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\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-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-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: $gray-200 !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: darken($gray-900, 5%) !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\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-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\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: darken($popover-bg, 3%) !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: .25rem !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: .25em !default;\n$badge-padding-x: .5em !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-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\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-level: -9 !default;\n$list-group-item-color-level: 6 !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: 20px !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 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 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 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></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\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$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\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","// 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 $max: breakpoint-max(breakpoint-next($name, $breakpoints));\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $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: 1 0 100%;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1); // stylelint-disable-line function-blacklist\n margin-right: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-blacklist\n margin-left: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-blacklist\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-blacklist\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-blacklist\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
diff --git a/dist/css/bootstrap-grid.min.css b/dist/css/bootstrap-grid.min.css
index b39d703abb..32b3972f8a 100644
--- a/dist/css/bootstrap-grid.min.css
+++ b/dist/css/bootstrap-grid.min.css
@@ -2,6 +2,6 @@
* Bootstrap Grid v5.0.0-alpha1 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{width:100%;padding-right:1rem;padding-left:1rem;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:1 0 100%;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-none{display:none!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}.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}.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-none{display: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}.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}.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-none{display: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}.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}.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-none{display: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}.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}.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-none{display: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}.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}.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-none{display: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}.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}.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-none{display:none!important}.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}}
/*# 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 6ed6e4683a..285827e420 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":"AAAA;;;;;ACME,WCCF,iBAGA,cADA,cADA,cAGA,cACA,eCTE,MAAA,KACA,cAAA,KACA,aAAA,KACA,aAAA,KACA,YAAA,KCwDE,yBH5CE,WAAA,cACE,UAAA,OG2CJ,yBH5CE,WAAA,cAAA,cACE,UAAA,OG2CJ,yBH5CE,WAAA,cAAA,cAAA,cACE,UAAA,OG2CJ,0BH5CE,WAAA,cAAA,cAAA,cAAA,cACE,UAAA,QG2CJ,0BH5CE,WAAA,cAAA,cAAA,cAAA,cAAA,eACE,UAAA,QIfN,KCAA,cAAA,OACA,cAAA,EACA,QAAA,KACA,KAAA,EAAA,EAAA,KACA,UAAA,KACA,WAAA,8BACA,aAAA,6BACA,YAAA,6BDPA,OCYA,WAAA,WAIA,YAAA,EACA,MAAA,KACA,UAAA,KACA,cAAA,4BACA,aAAA,4BACA,WAAA,mBAyCI,KACE,KAAA,EAAA,EAAA,GAGF,iBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,cACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,WAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,WA+BE,UAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,OA3DR,KAAA,EAAA,EAAA,KACA,MAAA,UA0DQ,OA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,OA3DR,KAAA,EAAA,EAAA,KACA,MAAA,IA0DQ,OA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,OA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,OA3DR,KAAA,EAAA,EAAA,KACA,MAAA,IA0DQ,OA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,OA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,OA3DR,KAAA,EAAA,EAAA,KACA,MAAA,IA0DQ,QA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,QA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,QA3DR,KAAA,EAAA,EAAA,KACA,MAAA,KAkEU,UAxDV,YAAA,UAwDU,UAxDV,YAAA,WAwDU,UAxDV,YAAA,IAwDU,UAxDV,YAAA,WAwDU,UAxDV,YAAA,WAwDU,UAxDV,YAAA,IAwDU,UAxDV,YAAA,WAwDU,UAxDV,YAAA,WAwDU,UAxDV,YAAA,IAwDU,WAxDV,YAAA,WAwDU,WAxDV,YAAA,WAmEM,KJgHR,MI9GU,cAAA,EAGF,KJgHR,MI9GU,cAAA,EAPF,KJ0HR,MIxHU,cAAA,QAGF,KJ0HR,MIxHU,cAAA,QAPF,KJoIR,MIlIU,cAAA,OAGF,KJoIR,MIlIU,cAAA,OAPF,KJ8IR,MI5IU,cAAA,KAGF,KJ8IR,MI5IU,cAAA,KAPF,KJwJR,MItJU,cAAA,OAGF,KJwJR,MItJU,cAAA,OAPF,KJkKR,MIhKU,cAAA,KAGF,KJkKR,MIhKU,cAAA,KFpDN,yBEIE,QACE,KAAA,EAAA,EAAA,GAGF,oBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,WAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,WA+BE,aAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,UA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,IA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,IA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,IA0DQ,WA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,WA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,WA3DR,KAAA,EAAA,EAAA,KACA,MAAA,KAkEU,aAxDV,YAAA,EAwDU,aAxDV,YAAA,UAwDU,aAxDV,YAAA,WAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,WAwDU,aAxDV,YAAA,WAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,WAwDU,aAxDV,YAAA,WAwDU,aAxDV,YAAA,IAwDU,cAxDV,YAAA,WAwDU,cAxDV,YAAA,WAmEM,QJoSN,SIlSQ,cAAA,EAGF,QJmSN,SIjSQ,cAAA,EAPF,QJ4SN,SI1SQ,cAAA,QAGF,QJ2SN,SIzSQ,cAAA,QAPF,QJoTN,SIlTQ,cAAA,OAGF,QJmTN,SIjTQ,cAAA,OAPF,QJ4TN,SI1TQ,cAAA,KAGF,QJ2TN,SIzTQ,cAAA,KAPF,QJoUN,SIlUQ,cAAA,OAGF,QJmUN,SIjUQ,cAAA,OAPF,QJ4UN,SI1UQ,cAAA,KAGF,QJ2UN,SIzUQ,cAAA,MFpDN,yBEIE,QACE,KAAA,EAAA,EAAA,GAGF,oBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,WAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,WA+BE,aAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,UA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,IA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,IA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,IA0DQ,WA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,WA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,WA3DR,KAAA,EAAA,EAAA,KACA,MAAA,KAkEU,aAxDV,YAAA,EAwDU,aAxDV,YAAA,UAwDU,aAxDV,YAAA,WAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,WAwDU,aAxDV,YAAA,WAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,WAwDU,aAxDV,YAAA,WAwDU,aAxDV,YAAA,IAwDU,cAxDV,YAAA,WAwDU,cAxDV,YAAA,WAmEM,QJ8cN,SI5cQ,cAAA,EAGF,QJ6cN,SI3cQ,cAAA,EAPF,QJsdN,SIpdQ,cAAA,QAGF,QJqdN,SIndQ,cAAA,QAPF,QJ8dN,SI5dQ,cAAA,OAGF,QJ6dN,SI3dQ,cAAA,OAPF,QJseN,SIpeQ,cAAA,KAGF,QJqeN,SIneQ,cAAA,KAPF,QJ8eN,SI5eQ,cAAA,OAGF,QJ6eN,SI3eQ,cAAA,OAPF,QJsfN,SIpfQ,cAAA,KAGF,QJqfN,SInfQ,cAAA,MFpDN,yBEIE,QACE,KAAA,EAAA,EAAA,GAGF,oBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,WAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,WA+BE,aAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,UA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,IA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,IA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,IA0DQ,WA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,WA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,WA3DR,KAAA,EAAA,EAAA,KACA,MAAA,KAkEU,aAxDV,YAAA,EAwDU,aAxDV,YAAA,UAwDU,aAxDV,YAAA,WAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,WAwDU,aAxDV,YAAA,WAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,WAwDU,aAxDV,YAAA,WAwDU,aAxDV,YAAA,IAwDU,cAxDV,YAAA,WAwDU,cAxDV,YAAA,WAmEM,QJwnBN,SItnBQ,cAAA,EAGF,QJunBN,SIrnBQ,cAAA,EAPF,QJgoBN,SI9nBQ,cAAA,QAGF,QJ+nBN,SI7nBQ,cAAA,QAPF,QJwoBN,SItoBQ,cAAA,OAGF,QJuoBN,SIroBQ,cAAA,OAPF,QJgpBN,SI9oBQ,cAAA,KAGF,QJ+oBN,SI7oBQ,cAAA,KAPF,QJwpBN,SItpBQ,cAAA,OAGF,QJupBN,SIrpBQ,cAAA,OAPF,QJgqBN,SI9pBQ,cAAA,KAGF,QJ+pBN,SI7pBQ,cAAA,MFpDN,0BEIE,QACE,KAAA,EAAA,EAAA,GAGF,oBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,WAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,WA+BE,aAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,UA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,IA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,IA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,UA3DR,KAAA,EAAA,EAAA,KACA,MAAA,IA0DQ,WA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,WA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,WA3DR,KAAA,EAAA,EAAA,KACA,MAAA,KAkEU,aAxDV,YAAA,EAwDU,aAxDV,YAAA,UAwDU,aAxDV,YAAA,WAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,WAwDU,aAxDV,YAAA,WAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,WAwDU,aAxDV,YAAA,WAwDU,aAxDV,YAAA,IAwDU,cAxDV,YAAA,WAwDU,cAxDV,YAAA,WAmEM,QJkyBN,SIhyBQ,cAAA,EAGF,QJiyBN,SI/xBQ,cAAA,EAPF,QJ0yBN,SIxyBQ,cAAA,QAGF,QJyyBN,SIvyBQ,cAAA,QAPF,QJkzBN,SIhzBQ,cAAA,OAGF,QJizBN,SI/yBQ,cAAA,OAPF,QJ0zBN,SIxzBQ,cAAA,KAGF,QJyzBN,SIvzBQ,cAAA,KAPF,QJk0BN,SIh0BQ,cAAA,OAGF,QJi0BN,SI/zBQ,cAAA,OAPF,QJ00BN,SIx0BQ,cAAA,KAGF,QJy0BN,SIv0BQ,cAAA,MFpDN,0BEIE,SACE,KAAA,EAAA,EAAA,GAGF,qBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,WAFF,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,WA+BE,cAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,WA3DR,KAAA,EAAA,EAAA,KACA,MAAA,UA0DQ,WA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,WA3DR,KAAA,EAAA,EAAA,KACA,MAAA,IA0DQ,WA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,WA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,WA3DR,KAAA,EAAA,EAAA,KACA,MAAA,IA0DQ,WA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,WA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,WA3DR,KAAA,EAAA,EAAA,KACA,MAAA,IA0DQ,YA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,YA3DR,KAAA,EAAA,EAAA,KACA,MAAA,WA0DQ,YA3DR,KAAA,EAAA,EAAA,KACA,MAAA,KAkEU,cAxDV,YAAA,EAwDU,cAxDV,YAAA,UAwDU,cAxDV,YAAA,WAwDU,cAxDV,YAAA,IAwDU,cAxDV,YAAA,WAwDU,cAxDV,YAAA,WAwDU,cAxDV,YAAA,IAwDU,cAxDV,YAAA,WAwDU,cAxDV,YAAA,WAwDU,cAxDV,YAAA,IAwDU,eAxDV,YAAA,WAwDU,eAxDV,YAAA,WAmEM,SJ48BN,UI18BQ,cAAA,EAGF,SJ28BN,UIz8BQ,cAAA,EAPF,SJo9BN,UIl9BQ,cAAA,QAGF,SJm9BN,UIj9BQ,cAAA,QAPF,SJ49BN,UI19BQ,cAAA,OAGF,SJ29BN,UIz9BQ,cAAA,OAPF,SJo+BN,UIl+BQ,cAAA,KAGF,SJm+BN,UIj+BQ,cAAA,KAPF,SJ4+BN,UI1+BQ,cAAA,OAGF,SJ2+BN,UIz+BQ,cAAA,OAPF,SJo/BN,UIl/BQ,cAAA,KAGF,SJm/BN,UIj/BQ,cAAA,MC1EJ,QAEI,QAAA,eAFJ,UAEI,QAAA,iBAFJ,gBAEI,QAAA,uBAFJ,SAEI,QAAA,gBAFJ,SAEI,QAAA,gBAFJ,aAEI,QAAA,oBAFJ,cAEI,QAAA,qBAFJ,QAEI,QAAA,eAFJ,eAEI,QAAA,sBAFJ,WAEI,KAAA,EAAA,EAAA,eAFJ,UAEI,eAAA,cAFJ,aAEI,eAAA,iBAFJ,kBAEI,eAAA,sBAFJ,qBAEI,eAAA,yBAFJ,aAEI,UAAA,YAFJ,aAEI,UAAA,YAFJ,uBAEI,gBAAA,qBAFJ,qBAEI,gBAAA,mBAFJ,wBAEI,gBAAA,iBAFJ,yBAEI,gBAAA,wBAFJ,wBAEI,gBAAA,uBAFJ,wBAEI,gBAAA,uBAFJ,mBAEI,YAAA,qBAFJ,iBAEI,YAAA,mBAFJ,oBAEI,YAAA,iBAFJ,sBAEI,YAAA,mBAFJ,qBAEI,YAAA,kBAFJ,qBAEI,cAAA,qBAFJ,mBAEI,cAAA,mBAFJ,sBAEI,cAAA,iBAFJ,uBAEI,cAAA,wBAFJ,sBAEI,cAAA,uBAFJ,uBAEI,cAAA,kBAFJ,iBAEI,WAAA,eAFJ,kBAEI,WAAA,qBAFJ,gBAEI,WAAA,mBAFJ,mBAEI,WAAA,iBAFJ,qBAEI,WAAA,mBAFJ,oBAEI,WAAA,kBAFJ,aAEI,MAAA,aAFJ,SAEI,MAAA,YAFJ,SAEI,MAAA,YAFJ,SAEI,MAAA,YAFJ,SAEI,MAAA,YAFJ,SAEI,MAAA,YAFJ,SAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,KAEI,OAAA,YAFJ,KAEI,OAAA,iBAFJ,KAEI,OAAA,gBAFJ,KAEI,OAAA,eAFJ,KAEI,OAAA,iBAFJ,KAEI,OAAA,eAFJ,QAEI,OAAA,eAFJ,MAEI,aAAA,YAAA,YAAA,YAFJ,MAEI,aAAA,iBAAA,YAAA,iBAFJ,MAEI,aAAA,gBAAA,YAAA,gBAFJ,MAEI,aAAA,eAAA,YAAA,eAFJ,MAEI,aAAA,iBAAA,YAAA,iBAFJ,MAEI,aAAA,eAAA,YAAA,eAFJ,SAEI,aAAA,eAAA,YAAA,eAFJ,MAEI,WAAA,YAAA,cAAA,YAFJ,MAEI,WAAA,iBAAA,cAAA,iBAFJ,MAEI,WAAA,gBAAA,cAAA,gBAFJ,MAEI,WAAA,eAAA,cAAA,eAFJ,MAEI,WAAA,iBAAA,cAAA,iBAFJ,MAEI,WAAA,eAAA,cAAA,eAFJ,SAEI,WAAA,eAAA,cAAA,eAFJ,MAEI,WAAA,YAFJ,MAEI,WAAA,iBAFJ,MAEI,WAAA,gBAFJ,MAEI,WAAA,eAFJ,MAEI,WAAA,iBAFJ,MAEI,WAAA,eAFJ,SAEI,WAAA,eAFJ,MAEI,aAAA,YAFJ,MAEI,aAAA,iBAFJ,MAEI,aAAA,gBAFJ,MAEI,aAAA,eAFJ,MAEI,aAAA,iBAFJ,MAEI,aAAA,eAFJ,SAEI,aAAA,eAFJ,MAEI,cAAA,YAFJ,MAEI,cAAA,iBAFJ,MAEI,cAAA,gBAFJ,MAEI,cAAA,eAFJ,MAEI,cAAA,iBAFJ,MAEI,cAAA,eAFJ,SAEI,cAAA,eAFJ,MAEI,YAAA,YAFJ,MAEI,YAAA,iBAFJ,MAEI,YAAA,gBAFJ,MAEI,YAAA,eAFJ,MAEI,YAAA,iBAFJ,MAEI,YAAA,eAFJ,SAEI,YAAA,eAFJ,KAEI,QAAA,YAFJ,KAEI,QAAA,iBAFJ,KAEI,QAAA,gBAFJ,KAEI,QAAA,eAFJ,KAEI,QAAA,iBAFJ,KAEI,QAAA,eAFJ,MAEI,cAAA,YAAA,aAAA,YAFJ,MAEI,cAAA,iBAAA,aAAA,iBAFJ,MAEI,cAAA,gBAAA,aAAA,gBAFJ,MAEI,cAAA,eAAA,aAAA,eAFJ,MAEI,cAAA,iBAAA,aAAA,iBAFJ,MAEI,cAAA,eAAA,aAAA,eAFJ,MAEI,YAAA,YAAA,eAAA,YAFJ,MAEI,YAAA,iBAAA,eAAA,iBAFJ,MAEI,YAAA,gBAAA,eAAA,gBAFJ,MAEI,YAAA,eAAA,eAAA,eAFJ,MAEI,YAAA,iBAAA,eAAA,iBAFJ,MAEI,YAAA,eAAA,eAAA,eAFJ,MAEI,YAAA,YAFJ,MAEI,YAAA,iBAFJ,MAEI,YAAA,gBAFJ,MAEI,YAAA,eAFJ,MAEI,YAAA,iBAFJ,MAEI,YAAA,eAFJ,MAEI,cAAA,YAFJ,MAEI,cAAA,iBAFJ,MAEI,cAAA,gBAFJ,MAEI,cAAA,eAFJ,MAEI,cAAA,iBAFJ,MAEI,cAAA,eAFJ,MAEI,eAAA,YAFJ,MAEI,eAAA,iBAFJ,MAEI,eAAA,gBAFJ,MAEI,eAAA,eAFJ,MAEI,eAAA,iBAFJ,MAEI,eAAA,eAFJ,MAEI,aAAA,YAFJ,MAEI,aAAA,iBAFJ,MAEI,aAAA,gBAFJ,MAEI,aAAA,eAFJ,MAEI,aAAA,iBAFJ,MAEI,aAAA,eHoBN,yBGtBE,WAEI,QAAA,eAFJ,aAEI,QAAA,iBAFJ,mBAEI,QAAA,uBAFJ,YAEI,QAAA,gBAFJ,YAEI,QAAA,gBAFJ,gBAEI,QAAA,oBAFJ,iBAEI,QAAA,qBAFJ,WAEI,QAAA,eAFJ,kBAEI,QAAA,sBAFJ,cAEI,KAAA,EAAA,EAAA,eAFJ,aAEI,eAAA,cAFJ,gBAEI,eAAA,iBAFJ,qBAEI,eAAA,sBAFJ,wBAEI,eAAA,yBAFJ,gBAEI,UAAA,YAFJ,gBAEI,UAAA,YAFJ,0BAEI,gBAAA,qBAFJ,wBAEI,gBAAA,mBAFJ,2BAEI,gBAAA,iBAFJ,4BAEI,gBAAA,wBAFJ,2BAEI,gBAAA,uBAFJ,2BAEI,gBAAA,uBAFJ,sBAEI,YAAA,qBAFJ,oBAEI,YAAA,mBAFJ,uBAEI,YAAA,iBAFJ,yBAEI,YAAA,mBAFJ,wBAEI,YAAA,kBAFJ,wBAEI,cAAA,qBAFJ,sBAEI,cAAA,mBAFJ,yBAEI,cAAA,iBAFJ,0BAEI,cAAA,wBAFJ,yBAEI,cAAA,uBAFJ,0BAEI,cAAA,kBAFJ,oBAEI,WAAA,eAFJ,qBAEI,WAAA,qBAFJ,mBAEI,WAAA,mBAFJ,sBAEI,WAAA,iBAFJ,wBAEI,WAAA,mBAFJ,uBAEI,WAAA,kBAFJ,gBAEI,MAAA,aAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,eAEI,MAAA,YAFJ,QAEI,OAAA,YAFJ,QAEI,OAAA,iBAFJ,QAEI,OAAA,gBAFJ,QAEI,OAAA,eAFJ,QAEI,OAAA,iBAFJ,QAEI,OAAA,eAFJ,WAEI,OAAA,eAFJ,SAEI,aAAA,YAAA,YAAA,YAFJ,SAEI,aAAA,iBAAA,YAAA,iBAFJ,SAEI,aAAA,gBAAA,YAAA,gBAFJ,SAEI,aAAA,eAAA,YAAA,eAFJ,SAEI,aAAA,iBAAA,YAAA,iBAFJ,SAEI,aAAA,eAAA,YAAA,eAFJ,YAEI,aAAA,eAAA,YAAA,eAFJ,SAEI,WAAA,YAAA,cAAA,YAFJ,SAEI,WAAA,iBAAA,cAAA,iBAFJ,SAEI,WAAA,gBAAA,cAAA,gBAFJ,SAEI,WAAA,eAAA,cAAA,eAFJ,SAEI,WAAA,iBAAA,cAAA,iBAFJ,SAEI,WAAA,eAAA,cAAA,eAFJ,YAEI,WAAA,eAAA,cAAA,eAFJ,SAEI,WAAA,YAFJ,SAEI,WAAA,iBAFJ,SAEI,WAAA,gBAFJ,SAEI,WAAA,eAFJ,SAEI,WAAA,iBAFJ,SAEI,WAAA,eAFJ,YAEI,WAAA,eAFJ,SAEI,aAAA,YAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBAFJ,SAEI,aAAA,eAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,eAFJ,YAEI,aAAA,eAFJ,SAEI,cAAA,YAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,gBAFJ,SAEI,cAAA,eAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,eAFJ,YAEI,cAAA,eAFJ,SAEI,YAAA,YAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,gBAFJ,SAEI,YAAA,eAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,eAFJ,YAEI,YAAA,eAFJ,QAEI,QAAA,YAFJ,QAEI,QAAA,iBAFJ,QAEI,QAAA,gBAFJ,QAEI,QAAA,eAFJ,QAEI,QAAA,iBAFJ,QAEI,QAAA,eAFJ,SAEI,cAAA,YAAA,aAAA,YAFJ,SAEI,cAAA,iBAAA,aAAA,iBAFJ,SAEI,cAAA,gBAAA,aAAA,gBAFJ,SAEI,cAAA,eAAA,aAAA,eAFJ,SAEI,cAAA,iBAAA,aAAA,iBAFJ,SAEI,cAAA,eAAA,aAAA,eAFJ,SAEI,YAAA,YAAA,eAAA,YAFJ,SAEI,YAAA,iBAAA,eAAA,iBAFJ,SAEI,YAAA,gBAAA,eAAA,gBAFJ,SAEI,YAAA,eAAA,eAAA,eAFJ,SAEI,YAAA,iBAAA,eAAA,iBAFJ,SAEI,YAAA,eAAA,eAAA,eAFJ,SAEI,YAAA,YAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,gBAFJ,SAEI,YAAA,eAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,eAFJ,SAEI,cAAA,YAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,gBAFJ,SAEI,cAAA,eAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,eAFJ,SAEI,eAAA,YAFJ,SAEI,eAAA,iBAFJ,SAEI,eAAA,gBAFJ,SAEI,eAAA,eAFJ,SAEI,eAAA,iBAFJ,SAEI,eAAA,eAFJ,SAEI,aAAA,YAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBAFJ,SAEI,aAAA,eAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBHoBN,yBGtBE,WAEI,QAAA,eAFJ,aAEI,QAAA,iBAFJ,mBAEI,QAAA,uBAFJ,YAEI,QAAA,gBAFJ,YAEI,QAAA,gBAFJ,gBAEI,QAAA,oBAFJ,iBAEI,QAAA,qBAFJ,WAEI,QAAA,eAFJ,kBAEI,QAAA,sBAFJ,cAEI,KAAA,EAAA,EAAA,eAFJ,aAEI,eAAA,cAFJ,gBAEI,eAAA,iBAFJ,qBAEI,eAAA,sBAFJ,wBAEI,eAAA,yBAFJ,gBAEI,UAAA,YAFJ,gBAEI,UAAA,YAFJ,0BAEI,gBAAA,qBAFJ,wBAEI,gBAAA,mBAFJ,2BAEI,gBAAA,iBAFJ,4BAEI,gBAAA,wBAFJ,2BAEI,gBAAA,uBAFJ,2BAEI,gBAAA,uBAFJ,sBAEI,YAAA,qBAFJ,oBAEI,YAAA,mBAFJ,uBAEI,YAAA,iBAFJ,yBAEI,YAAA,mBAFJ,wBAEI,YAAA,kBAFJ,wBAEI,cAAA,qBAFJ,sBAEI,cAAA,mBAFJ,yBAEI,cAAA,iBAFJ,0BAEI,cAAA,wBAFJ,yBAEI,cAAA,uBAFJ,0BAEI,cAAA,kBAFJ,oBAEI,WAAA,eAFJ,qBAEI,WAAA,qBAFJ,mBAEI,WAAA,mBAFJ,sBAEI,WAAA,iBAFJ,wBAEI,WAAA,mBAFJ,uBAEI,WAAA,kBAFJ,gBAEI,MAAA,aAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,eAEI,MAAA,YAFJ,QAEI,OAAA,YAFJ,QAEI,OAAA,iBAFJ,QAEI,OAAA,gBAFJ,QAEI,OAAA,eAFJ,QAEI,OAAA,iBAFJ,QAEI,OAAA,eAFJ,WAEI,OAAA,eAFJ,SAEI,aAAA,YAAA,YAAA,YAFJ,SAEI,aAAA,iBAAA,YAAA,iBAFJ,SAEI,aAAA,gBAAA,YAAA,gBAFJ,SAEI,aAAA,eAAA,YAAA,eAFJ,SAEI,aAAA,iBAAA,YAAA,iBAFJ,SAEI,aAAA,eAAA,YAAA,eAFJ,YAEI,aAAA,eAAA,YAAA,eAFJ,SAEI,WAAA,YAAA,cAAA,YAFJ,SAEI,WAAA,iBAAA,cAAA,iBAFJ,SAEI,WAAA,gBAAA,cAAA,gBAFJ,SAEI,WAAA,eAAA,cAAA,eAFJ,SAEI,WAAA,iBAAA,cAAA,iBAFJ,SAEI,WAAA,eAAA,cAAA,eAFJ,YAEI,WAAA,eAAA,cAAA,eAFJ,SAEI,WAAA,YAFJ,SAEI,WAAA,iBAFJ,SAEI,WAAA,gBAFJ,SAEI,WAAA,eAFJ,SAEI,WAAA,iBAFJ,SAEI,WAAA,eAFJ,YAEI,WAAA,eAFJ,SAEI,aAAA,YAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBAFJ,SAEI,aAAA,eAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,eAFJ,YAEI,aAAA,eAFJ,SAEI,cAAA,YAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,gBAFJ,SAEI,cAAA,eAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,eAFJ,YAEI,cAAA,eAFJ,SAEI,YAAA,YAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,gBAFJ,SAEI,YAAA,eAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,eAFJ,YAEI,YAAA,eAFJ,QAEI,QAAA,YAFJ,QAEI,QAAA,iBAFJ,QAEI,QAAA,gBAFJ,QAEI,QAAA,eAFJ,QAEI,QAAA,iBAFJ,QAEI,QAAA,eAFJ,SAEI,cAAA,YAAA,aAAA,YAFJ,SAEI,cAAA,iBAAA,aAAA,iBAFJ,SAEI,cAAA,gBAAA,aAAA,gBAFJ,SAEI,cAAA,eAAA,aAAA,eAFJ,SAEI,cAAA,iBAAA,aAAA,iBAFJ,SAEI,cAAA,eAAA,aAAA,eAFJ,SAEI,YAAA,YAAA,eAAA,YAFJ,SAEI,YAAA,iBAAA,eAAA,iBAFJ,SAEI,YAAA,gBAAA,eAAA,gBAFJ,SAEI,YAAA,eAAA,eAAA,eAFJ,SAEI,YAAA,iBAAA,eAAA,iBAFJ,SAEI,YAAA,eAAA,eAAA,eAFJ,SAEI,YAAA,YAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,gBAFJ,SAEI,YAAA,eAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,eAFJ,SAEI,cAAA,YAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,gBAFJ,SAEI,cAAA,eAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,eAFJ,SAEI,eAAA,YAFJ,SAEI,eAAA,iBAFJ,SAEI,eAAA,gBAFJ,SAEI,eAAA,eAFJ,SAEI,eAAA,iBAFJ,SAEI,eAAA,eAFJ,SAEI,aAAA,YAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBAFJ,SAEI,aAAA,eAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBHoBN,yBGtBE,WAEI,QAAA,eAFJ,aAEI,QAAA,iBAFJ,mBAEI,QAAA,uBAFJ,YAEI,QAAA,gBAFJ,YAEI,QAAA,gBAFJ,gBAEI,QAAA,oBAFJ,iBAEI,QAAA,qBAFJ,WAEI,QAAA,eAFJ,kBAEI,QAAA,sBAFJ,cAEI,KAAA,EAAA,EAAA,eAFJ,aAEI,eAAA,cAFJ,gBAEI,eAAA,iBAFJ,qBAEI,eAAA,sBAFJ,wBAEI,eAAA,yBAFJ,gBAEI,UAAA,YAFJ,gBAEI,UAAA,YAFJ,0BAEI,gBAAA,qBAFJ,wBAEI,gBAAA,mBAFJ,2BAEI,gBAAA,iBAFJ,4BAEI,gBAAA,wBAFJ,2BAEI,gBAAA,uBAFJ,2BAEI,gBAAA,uBAFJ,sBAEI,YAAA,qBAFJ,oBAEI,YAAA,mBAFJ,uBAEI,YAAA,iBAFJ,yBAEI,YAAA,mBAFJ,wBAEI,YAAA,kBAFJ,wBAEI,cAAA,qBAFJ,sBAEI,cAAA,mBAFJ,yBAEI,cAAA,iBAFJ,0BAEI,cAAA,wBAFJ,yBAEI,cAAA,uBAFJ,0BAEI,cAAA,kBAFJ,oBAEI,WAAA,eAFJ,qBAEI,WAAA,qBAFJ,mBAEI,WAAA,mBAFJ,sBAEI,WAAA,iBAFJ,wBAEI,WAAA,mBAFJ,uBAEI,WAAA,kBAFJ,gBAEI,MAAA,aAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,eAEI,MAAA,YAFJ,QAEI,OAAA,YAFJ,QAEI,OAAA,iBAFJ,QAEI,OAAA,gBAFJ,QAEI,OAAA,eAFJ,QAEI,OAAA,iBAFJ,QAEI,OAAA,eAFJ,WAEI,OAAA,eAFJ,SAEI,aAAA,YAAA,YAAA,YAFJ,SAEI,aAAA,iBAAA,YAAA,iBAFJ,SAEI,aAAA,gBAAA,YAAA,gBAFJ,SAEI,aAAA,eAAA,YAAA,eAFJ,SAEI,aAAA,iBAAA,YAAA,iBAFJ,SAEI,aAAA,eAAA,YAAA,eAFJ,YAEI,aAAA,eAAA,YAAA,eAFJ,SAEI,WAAA,YAAA,cAAA,YAFJ,SAEI,WAAA,iBAAA,cAAA,iBAFJ,SAEI,WAAA,gBAAA,cAAA,gBAFJ,SAEI,WAAA,eAAA,cAAA,eAFJ,SAEI,WAAA,iBAAA,cAAA,iBAFJ,SAEI,WAAA,eAAA,cAAA,eAFJ,YAEI,WAAA,eAAA,cAAA,eAFJ,SAEI,WAAA,YAFJ,SAEI,WAAA,iBAFJ,SAEI,WAAA,gBAFJ,SAEI,WAAA,eAFJ,SAEI,WAAA,iBAFJ,SAEI,WAAA,eAFJ,YAEI,WAAA,eAFJ,SAEI,aAAA,YAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBAFJ,SAEI,aAAA,eAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,eAFJ,YAEI,aAAA,eAFJ,SAEI,cAAA,YAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,gBAFJ,SAEI,cAAA,eAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,eAFJ,YAEI,cAAA,eAFJ,SAEI,YAAA,YAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,gBAFJ,SAEI,YAAA,eAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,eAFJ,YAEI,YAAA,eAFJ,QAEI,QAAA,YAFJ,QAEI,QAAA,iBAFJ,QAEI,QAAA,gBAFJ,QAEI,QAAA,eAFJ,QAEI,QAAA,iBAFJ,QAEI,QAAA,eAFJ,SAEI,cAAA,YAAA,aAAA,YAFJ,SAEI,cAAA,iBAAA,aAAA,iBAFJ,SAEI,cAAA,gBAAA,aAAA,gBAFJ,SAEI,cAAA,eAAA,aAAA,eAFJ,SAEI,cAAA,iBAAA,aAAA,iBAFJ,SAEI,cAAA,eAAA,aAAA,eAFJ,SAEI,YAAA,YAAA,eAAA,YAFJ,SAEI,YAAA,iBAAA,eAAA,iBAFJ,SAEI,YAAA,gBAAA,eAAA,gBAFJ,SAEI,YAAA,eAAA,eAAA,eAFJ,SAEI,YAAA,iBAAA,eAAA,iBAFJ,SAEI,YAAA,eAAA,eAAA,eAFJ,SAEI,YAAA,YAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,gBAFJ,SAEI,YAAA,eAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,eAFJ,SAEI,cAAA,YAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,gBAFJ,SAEI,cAAA,eAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,eAFJ,SAEI,eAAA,YAFJ,SAEI,eAAA,iBAFJ,SAEI,eAAA,gBAFJ,SAEI,eAAA,eAFJ,SAEI,eAAA,iBAFJ,SAEI,eAAA,eAFJ,SAEI,aAAA,YAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBAFJ,SAEI,aAAA,eAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBHoBN,0BGtBE,WAEI,QAAA,eAFJ,aAEI,QAAA,iBAFJ,mBAEI,QAAA,uBAFJ,YAEI,QAAA,gBAFJ,YAEI,QAAA,gBAFJ,gBAEI,QAAA,oBAFJ,iBAEI,QAAA,qBAFJ,WAEI,QAAA,eAFJ,kBAEI,QAAA,sBAFJ,cAEI,KAAA,EAAA,EAAA,eAFJ,aAEI,eAAA,cAFJ,gBAEI,eAAA,iBAFJ,qBAEI,eAAA,sBAFJ,wBAEI,eAAA,yBAFJ,gBAEI,UAAA,YAFJ,gBAEI,UAAA,YAFJ,0BAEI,gBAAA,qBAFJ,wBAEI,gBAAA,mBAFJ,2BAEI,gBAAA,iBAFJ,4BAEI,gBAAA,wBAFJ,2BAEI,gBAAA,uBAFJ,2BAEI,gBAAA,uBAFJ,sBAEI,YAAA,qBAFJ,oBAEI,YAAA,mBAFJ,uBAEI,YAAA,iBAFJ,yBAEI,YAAA,mBAFJ,wBAEI,YAAA,kBAFJ,wBAEI,cAAA,qBAFJ,sBAEI,cAAA,mBAFJ,yBAEI,cAAA,iBAFJ,0BAEI,cAAA,wBAFJ,yBAEI,cAAA,uBAFJ,0BAEI,cAAA,kBAFJ,oBAEI,WAAA,eAFJ,qBAEI,WAAA,qBAFJ,mBAEI,WAAA,mBAFJ,sBAEI,WAAA,iBAFJ,wBAEI,WAAA,mBAFJ,uBAEI,WAAA,kBAFJ,gBAEI,MAAA,aAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,YAEI,MAAA,YAFJ,eAEI,MAAA,YAFJ,QAEI,OAAA,YAFJ,QAEI,OAAA,iBAFJ,QAEI,OAAA,gBAFJ,QAEI,OAAA,eAFJ,QAEI,OAAA,iBAFJ,QAEI,OAAA,eAFJ,WAEI,OAAA,eAFJ,SAEI,aAAA,YAAA,YAAA,YAFJ,SAEI,aAAA,iBAAA,YAAA,iBAFJ,SAEI,aAAA,gBAAA,YAAA,gBAFJ,SAEI,aAAA,eAAA,YAAA,eAFJ,SAEI,aAAA,iBAAA,YAAA,iBAFJ,SAEI,aAAA,eAAA,YAAA,eAFJ,YAEI,aAAA,eAAA,YAAA,eAFJ,SAEI,WAAA,YAAA,cAAA,YAFJ,SAEI,WAAA,iBAAA,cAAA,iBAFJ,SAEI,WAAA,gBAAA,cAAA,gBAFJ,SAEI,WAAA,eAAA,cAAA,eAFJ,SAEI,WAAA,iBAAA,cAAA,iBAFJ,SAEI,WAAA,eAAA,cAAA,eAFJ,YAEI,WAAA,eAAA,cAAA,eAFJ,SAEI,WAAA,YAFJ,SAEI,WAAA,iBAFJ,SAEI,WAAA,gBAFJ,SAEI,WAAA,eAFJ,SAEI,WAAA,iBAFJ,SAEI,WAAA,eAFJ,YAEI,WAAA,eAFJ,SAEI,aAAA,YAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBAFJ,SAEI,aAAA,eAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,eAFJ,YAEI,aAAA,eAFJ,SAEI,cAAA,YAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,gBAFJ,SAEI,cAAA,eAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,eAFJ,YAEI,cAAA,eAFJ,SAEI,YAAA,YAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,gBAFJ,SAEI,YAAA,eAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,eAFJ,YAEI,YAAA,eAFJ,QAEI,QAAA,YAFJ,QAEI,QAAA,iBAFJ,QAEI,QAAA,gBAFJ,QAEI,QAAA,eAFJ,QAEI,QAAA,iBAFJ,QAEI,QAAA,eAFJ,SAEI,cAAA,YAAA,aAAA,YAFJ,SAEI,cAAA,iBAAA,aAAA,iBAFJ,SAEI,cAAA,gBAAA,aAAA,gBAFJ,SAEI,cAAA,eAAA,aAAA,eAFJ,SAEI,cAAA,iBAAA,aAAA,iBAFJ,SAEI,cAAA,eAAA,aAAA,eAFJ,SAEI,YAAA,YAAA,eAAA,YAFJ,SAEI,YAAA,iBAAA,eAAA,iBAFJ,SAEI,YAAA,gBAAA,eAAA,gBAFJ,SAEI,YAAA,eAAA,eAAA,eAFJ,SAEI,YAAA,iBAAA,eAAA,iBAFJ,SAEI,YAAA,eAAA,eAAA,eAFJ,SAEI,YAAA,YAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,gBAFJ,SAEI,YAAA,eAFJ,SAEI,YAAA,iBAFJ,SAEI,YAAA,eAFJ,SAEI,cAAA,YAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,gBAFJ,SAEI,cAAA,eAFJ,SAEI,cAAA,iBAFJ,SAEI,cAAA,eAFJ,SAEI,eAAA,YAFJ,SAEI,eAAA,iBAFJ,SAEI,eAAA,gBAFJ,SAEI,eAAA,eAFJ,SAEI,eAAA,iBAFJ,SAEI,eAAA,eAFJ,SAEI,aAAA,YAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBAFJ,SAEI,aAAA,eAFJ,SAEI,aAAA,iBAFJ,SAEI,aAAA,gBHoBN,0BGtBE,YAEI,QAAA,eAFJ,cAEI,QAAA,iBAFJ,oBAEI,QAAA,uBAFJ,aAEI,QAAA,gBAFJ,aAEI,QAAA,gBAFJ,iBAEI,QAAA,oBAFJ,kBAEI,QAAA,qBAFJ,YAEI,QAAA,eAFJ,mBAEI,QAAA,sBAFJ,eAEI,KAAA,EAAA,EAAA,eAFJ,cAEI,eAAA,cAFJ,iBAEI,eAAA,iBAFJ,sBAEI,eAAA,sBAFJ,yBAEI,eAAA,yBAFJ,iBAEI,UAAA,YAFJ,iBAEI,UAAA,YAFJ,2BAEI,gBAAA,qBAFJ,yBAEI,gBAAA,mBAFJ,4BAEI,gBAAA,iBAFJ,6BAEI,gBAAA,wBAFJ,4BAEI,gBAAA,uBAFJ,4BAEI,gBAAA,uBAFJ,uBAEI,YAAA,qBAFJ,qBAEI,YAAA,mBAFJ,wBAEI,YAAA,iBAFJ,0BAEI,YAAA,mBAFJ,yBAEI,YAAA,kBAFJ,yBAEI,cAAA,qBAFJ,uBAEI,cAAA,mBAFJ,0BAEI,cAAA,iBAFJ,2BAEI,cAAA,wBAFJ,0BAEI,cAAA,uBAFJ,2BAEI,cAAA,kBAFJ,qBAEI,WAAA,eAFJ,sBAEI,WAAA,qBAFJ,oBAEI,WAAA,mBAFJ,uBAEI,WAAA,iBAFJ,yBAEI,WAAA,mBAFJ,wBAEI,WAAA,kBAFJ,iBAEI,MAAA,aAFJ,aAEI,MAAA,YAFJ,aAEI,MAAA,YAFJ,aAEI,MAAA,YAFJ,aAEI,MAAA,YAFJ,aAEI,MAAA,YAFJ,aAEI,MAAA,YAFJ,gBAEI,MAAA,YAFJ,SAEI,OAAA,YAFJ,SAEI,OAAA,iBAFJ,SAEI,OAAA,gBAFJ,SAEI,OAAA,eAFJ,SAEI,OAAA,iBAFJ,SAEI,OAAA,eAFJ,YAEI,OAAA,eAFJ,UAEI,aAAA,YAAA,YAAA,YAFJ,UAEI,aAAA,iBAAA,YAAA,iBAFJ,UAEI,aAAA,gBAAA,YAAA,gBAFJ,UAEI,aAAA,eAAA,YAAA,eAFJ,UAEI,aAAA,iBAAA,YAAA,iBAFJ,UAEI,aAAA,eAAA,YAAA,eAFJ,aAEI,aAAA,eAAA,YAAA,eAFJ,UAEI,WAAA,YAAA,cAAA,YAFJ,UAEI,WAAA,iBAAA,cAAA,iBAFJ,UAEI,WAAA,gBAAA,cAAA,gBAFJ,UAEI,WAAA,eAAA,cAAA,eAFJ,UAEI,WAAA,iBAAA,cAAA,iBAFJ,UAEI,WAAA,eAAA,cAAA,eAFJ,aAEI,WAAA,eAAA,cAAA,eAFJ,UAEI,WAAA,YAFJ,UAEI,WAAA,iBAFJ,UAEI,WAAA,gBAFJ,UAEI,WAAA,eAFJ,UAEI,WAAA,iBAFJ,UAEI,WAAA,eAFJ,aAEI,WAAA,eAFJ,UAEI,aAAA,YAFJ,UAEI,aAAA,iBAFJ,UAEI,aAAA,gBAFJ,UAEI,aAAA,eAFJ,UAEI,aAAA,iBAFJ,UAEI,aAAA,eAFJ,aAEI,aAAA,eAFJ,UAEI,cAAA,YAFJ,UAEI,cAAA,iBAFJ,UAEI,cAAA,gBAFJ,UAEI,cAAA,eAFJ,UAEI,cAAA,iBAFJ,UAEI,cAAA,eAFJ,aAEI,cAAA,eAFJ,UAEI,YAAA,YAFJ,UAEI,YAAA,iBAFJ,UAEI,YAAA,gBAFJ,UAEI,YAAA,eAFJ,UAEI,YAAA,iBAFJ,UAEI,YAAA,eAFJ,aAEI,YAAA,eAFJ,SAEI,QAAA,YAFJ,SAEI,QAAA,iBAFJ,SAEI,QAAA,gBAFJ,SAEI,QAAA,eAFJ,SAEI,QAAA,iBAFJ,SAEI,QAAA,eAFJ,UAEI,cAAA,YAAA,aAAA,YAFJ,UAEI,cAAA,iBAAA,aAAA,iBAFJ,UAEI,cAAA,gBAAA,aAAA,gBAFJ,UAEI,cAAA,eAAA,aAAA,eAFJ,UAEI,cAAA,iBAAA,aAAA,iBAFJ,UAEI,cAAA,eAAA,aAAA,eAFJ,UAEI,YAAA,YAAA,eAAA,YAFJ,UAEI,YAAA,iBAAA,eAAA,iBAFJ,UAEI,YAAA,gBAAA,eAAA,gBAFJ,UAEI,YAAA,eAAA,eAAA,eAFJ,UAEI,YAAA,iBAAA,eAAA,iBAFJ,UAEI,YAAA,eAAA,eAAA,eAFJ,UAEI,YAAA,YAFJ,UAEI,YAAA,iBAFJ,UAEI,YAAA,gBAFJ,UAEI,YAAA,eAFJ,UAEI,YAAA,iBAFJ,UAEI,YAAA,eAFJ,UAEI,cAAA,YAFJ,UAEI,cAAA,iBAFJ,UAEI,cAAA,gBAFJ,UAEI,cAAA,eAFJ,UAEI,cAAA,iBAFJ,UAEI,cAAA,eAFJ,UAEI,eAAA,YAFJ,UAEI,eAAA,iBAFJ,UAEI,eAAA,gBAFJ,UAEI,eAAA,eAFJ,UAEI,eAAA,iBAFJ,UAEI,eAAA,eAFJ,UAEI,aAAA,YAFJ,UAEI,aAAA,iBAFJ,UAEI,aAAA,gBAFJ,UAEI,aAAA,eAFJ,UAEI,aAAA,iBAFJ,UAEI,aAAA,gBCLV,aDGM,cAEI,QAAA,eAFJ,gBAEI,QAAA,iBAFJ,sBAEI,QAAA,uBAFJ,eAEI,QAAA,gBAFJ,eAEI,QAAA,gBAFJ,mBAEI,QAAA,oBAFJ,oBAEI,QAAA,qBAFJ,cAEI,QAAA,eAFJ,qBAEI,QAAA","sourcesContent":["/*!\n * Bootstrap Grid v5.0.0-alpha1 (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/master/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-alpha1 (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/master/LICENSE)\n */\n.container,\n.container-fluid,\n.container-sm,\n.container-md,\n.container-lg,\n.container-xl,\n.container-xxl {\n width: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\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: 1 0 100%;\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-none {\n display: none !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.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.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-none {\n display: 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 .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 .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-none {\n display: 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 .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 .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-none {\n display: 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 .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 .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-none {\n display: 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 .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 .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-none {\n display: 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 .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 .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-none {\n display: none !important;\n }\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}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container mixins\n\n@mixin make-container($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\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. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `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(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .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 $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $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: 1 0 100%;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1); // stylelint-disable-line function-blacklist\n margin-right: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-blacklist\n margin-left: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-blacklist\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-blacklist\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-blacklist\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-alpha1 (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-alpha1 (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 width: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\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: 1 0 100%;\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-none {\n display: none !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.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.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-none {\n display: 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 .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 .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-none {\n display: 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 .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 .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-none {\n display: 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 .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 .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-none {\n display: 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 .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 .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-none {\n display: 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 .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 .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-none {\n display: none !important;\n }\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}\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container mixins\n\n@mixin make-container($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\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 $max: breakpoint-max(breakpoint-next($name, $breakpoints));\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $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: 1 0 100%;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1); // stylelint-disable-line function-blacklist\n margin-right: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-blacklist\n margin-left: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-blacklist\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-blacklist\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-blacklist\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
diff --git a/dist/css/bootstrap-reboot.css b/dist/css/bootstrap-reboot.css
index 6f8b0b25db..0bcba6ccf9 100644
--- a/dist/css/bootstrap-reboot.css
+++ b/dist/css/bootstrap-reboot.css
@@ -2,7 +2,7 @@
* Bootstrap Reboot v5.0.0-alpha1 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * 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)
*/
*,
@@ -309,6 +309,10 @@ select {
text-transform: none;
}
+[role="button"] {
+ cursor: pointer;
+}
+
select {
word-wrap: normal;
}
diff --git a/dist/css/bootstrap-reboot.css.map b/dist/css/bootstrap-reboot.css.map
index 2894c48507..5756ad88cf 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/mixins/_border-radius.scss"],"names":[],"mappings":"AAAA;;;;;;ECME;ACSF;;;EAGE,sBAAsB;ADPxB;;AC4BA;EACE,SAAS;EACT,yLCwVwM;ECtIpM,eAvE+B;EFzInC,gBCqW+B;EDpW/B,gBC0W+B;EDzW/B,cC7BgB;ED+BhB,sBCxCa;EDyCb,8BAA8B;EAC9B,6CChCa;AFMf;;AAEA;ECsCE,qBAAqB;ADpCvB;;AC8CA;EACE,cAAsB;EACtB,cC4XmC;ED3XnC,8BAA8B;EAC9B,SAAS;EACT,aC2X+B;AFtajC;;AC8CA;EACE,WC4P+B;AFvSjC;;ACqDA;EACE,aAAa;EACb,qBCmUuC;EDhUvC,gBCmU+B;EDlU/B,gBCmU+B;AFvXjC;;ACwDA;EEyJQ,iCAf6B;AH9LrC;;AG2CI;EFSJ;IEgKQ,iBAlF6B;EH7HnC;AACF;;ACmDA;EEoJQ,iCAf6B;AHpLrC;;AGiCI;EFcJ;IE2JQ,eAlF6B;EHnHnC;AACF;;AC8CA;EE+IQ,+BAf6B;AH1KrC;;AGuBI;EFmBJ;IEsJQ,kBAlF6B;EHzGnC;AACF;;ACyCA;EE0IQ,iCAf6B;AHhKrC;;AGaI;EFwBJ;IEiJQ,iBAlF6B;EH/FnC;AACF;;ACoCA;EEiIM,kBAvE+B;AH1FrC;;ACqCA;EE4HM,eAvE+B;AHtFrC;;AC4CA;EACE,aAAa;EACb,mBCuI8B;AFhLhC;;ACoDA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,sCAA8B;EAA9B,8BAA8B;ADjDhC;;ACuDA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;ADpDtB;;AC0DA;;EAEE,kBAAkB;ADvDpB;;AC0DA;;;EAGE,aAAa;EACb,mBAAmB;ADvDrB;;AC0DA;;;;EAIE,gBAAgB;ADvDlB;;AC0DA;EACE,gBCkN+B;AFzQjC;;AC4DA;EACE,oBAAoB;EACpB,cAAc;ADzDhB;;AC+DA;EACE,gBAAgB;AD5DlB;;ACoEA;;EAEE,mBC2LkC;AF5PpC;;ACyEA;EE4BM,kBAvE+B;AH1BrC;;AC4EA;EACE,cCwOgC;EDvOhC,yBC+OmC;AFxTrC;;ACkFA;;EAEE,kBAAkB;EEQd,iBAvE+B;EFiEnC,cAAc;EACd,wBAAwB;AD/E1B;;ACkFA;EAAM,cAAc;AD9EpB;;AC+EA;EAAM,UAAU;AD3EhB;;ACgFA;EACE,cC/Ne;EDgOf,0BCKiD;AFlFnD;;AC2EA;EAKI,cCG8D;AF/ElE;;ACsFA;EAGI,cAAc;EACd,qBAAqB;ADrFzB;;AC4FA;;;;EAIE,iGCqGgH;ECvI5G,cAvE+B;AHiBrC;;ACkGA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,cAAc;EEhDV,kBAvE+B;EF0HnC,6BAA6B;ADhG/B;;ACyFA;EE5CM,kBAvE+B;EF+HjC,cAAc;EACd,kBAAkB;ADhGtB;;ACoGA;EE7DM,kBAvE+B;EFsInC,cCtRe;EDuRf,qBAAqB;ADjGvB;;ACoGE;EACE,cAAc;ADjGlB;;ACqGA;EACE,sBCk6BuC;EC3+BnC,kBAvE+B;EFkJnC,WC/Ta;EDgUb,yBCvTgB;EEEd,qBFgU+B;AF5GnC;;AC6FA;EAQI,UAAU;EEhFR,cAvE+B;EFyJjC,gBCoE6B;AFrKjC;;AC0GA;EACE,gBAAgB;ADvGlB;;AC6GA;;EAEE,sBAAsB;AD1GxB;;ACkHA;EACE,oBAAoB;EACpB,yBAAyB;AD/G3B;;ACkHA;EACE,mBCkHiC;EDjHjC,sBCiHiC;EDhHjC,cClWgB;EDmWhB,gBAAgB;AD/GlB;;ACqHA;EACE,mBAAmB;EACnB,gCAAgC;ADlHlC;;ACqHA;;;;;;EAME,qBAAqB;EACrB,mBAAmB;EACnB,eAAe;ADlHjB;;AC0HA;EACE,qBAAqB;ADvHvB;;AC6HA;EAEE,gBAAgB;AD3HlB;;ACkIA;EACE,mBAAmB;EACnB,0CAA0C;AD/H5C;;ACoIA;;;;;EAKE,SAAS;EACT,oBAAoB;EE7KhB,kBAvE+B;EFsPnC,oBAAoB;ADjItB;;ACsIA;;EAEE,iBAAiB;ADnInB;;ACwIA;;EAEE,oBAAoB;ADrItB;;AC2IA;EACE,iBAAiB;ADxInB;;AAEA;EC6IE,aAAa;AD3If;;ACmJA;;;;EAIE,0BAA0B;ADhJ5B;;AC4IA;;;;EAQM,eAAe;AD7IrB;;ACoJA;EACE,UAAU;EACV,kBAAkB;ADjJpB;;ACsJA;EACE,gBAAgB;ADnJlB;;AC6JA;EACE,YAAY;EACZ,UAAU;EACV,SAAS;EACT,SAAS;AD1JX;;ACmKA;EACE,WAAW;EACX,WAAW;EACX,UAAU;EACV,qBCrDiC;EC5M3B,iCAf6B;EFmRnC,oBAAoB;EACpB,mBAAmB;ADjKrB;;AGtQI;EF+ZJ;IEtPQ,iBAlF6B;EHoLnC;AACF;;ACmJA;EAWI,WAAW;AD1Jf;;ACiKA;;;;;;;EAOE,UAAU;AD9JZ;;ACiKA;EACE,YAAY;AD9Jd;;AAEA;ECsKE,oBAAoB;EACpB,6BAA6B;ADpK/B;;ACyKA;EACE,wBAAwB;ADtK1B;;AC2KA;EACE,UAAU;ADxKZ;;AC8KA;EACE,aAAa;EACb,0BAA0B;AD3K5B;;ACgLA;EACE,qBAAqB;AD7KvB;;ACkLA;EACE,SAAS;AD/KX;;ACsLA;EACE,kBAAkB;EAClB,eAAe;ADnLjB;;AC2LA;EACE,wBAAwB;ADxL1B;;AAEA;EC+LE,wBAAwB;AD7L1B","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v5.0.0-alpha1 (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/master/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-alpha1 (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/master/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\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\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// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\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. Matches default `<td>` alignment by inheriting `text-align`.\n// 2. Fix alignment for Safari\n\nth {\n text-align: inherit; // 1\n text-align: -webkit-match-parent; // 2\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-blacklist\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// 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: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !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-800 !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// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\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: 3 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $gray-900 !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 8) !default;\n$blue-200: tint-color($blue, 6) !default;\n$blue-300: tint-color($blue, 4) !default;\n$blue-400: tint-color($blue, 2) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 2) !default;\n$blue-700: shade-color($blue, 4) !default;\n$blue-800: shade-color($blue, 6) !default;\n$blue-900: shade-color($blue, 8) !default;\n\n$indigo-100: tint-color($indigo, 8) !default;\n$indigo-200: tint-color($indigo, 6) !default;\n$indigo-300: tint-color($indigo, 4) !default;\n$indigo-400: tint-color($indigo, 2) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 2) !default;\n$indigo-700: shade-color($indigo, 4) !default;\n$indigo-800: shade-color($indigo, 6) !default;\n$indigo-900: shade-color($indigo, 8) !default;\n\n$purple-100: tint-color($purple, 8) !default;\n$purple-200: tint-color($purple, 6) !default;\n$purple-300: tint-color($purple, 4) !default;\n$purple-400: tint-color($purple, 2) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 2) !default;\n$purple-700: shade-color($purple, 4) !default;\n$purple-800: shade-color($purple, 6) !default;\n$purple-900: shade-color($purple, 8) !default;\n\n$pink-100: tint-color($pink, 8) !default;\n$pink-200: tint-color($pink, 6) !default;\n$pink-300: tint-color($pink, 4) !default;\n$pink-400: tint-color($pink, 2) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 2) !default;\n$pink-700: shade-color($pink, 4) !default;\n$pink-800: shade-color($pink, 6) !default;\n$pink-900: shade-color($pink, 8) !default;\n\n$red-100: tint-color($red, 8) !default;\n$red-200: tint-color($red, 6) !default;\n$red-300: tint-color($red, 4) !default;\n$red-400: tint-color($red, 2) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 2) !default;\n$red-700: shade-color($red, 4) !default;\n$red-800: shade-color($red, 6) !default;\n$red-900: shade-color($red, 8) !default;\n\n$orange-100: tint-color($orange, 8) !default;\n$orange-200: tint-color($orange, 6) !default;\n$orange-300: tint-color($orange, 4) !default;\n$orange-400: tint-color($orange, 2) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 2) !default;\n$orange-700: shade-color($orange, 4) !default;\n$orange-800: shade-color($orange, 6) !default;\n$orange-900: shade-color($orange, 8) !default;\n\n$yellow-100: tint-color($yellow, 8) !default;\n$yellow-200: tint-color($yellow, 6) !default;\n$yellow-300: tint-color($yellow, 4) !default;\n$yellow-400: tint-color($yellow, 2) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 2) !default;\n$yellow-700: shade-color($yellow, 4) !default;\n$yellow-800: shade-color($yellow, 6) !default;\n$yellow-900: shade-color($yellow, 8) !default;\n\n$green-100: tint-color($green, 8) !default;\n$green-200: tint-color($green, 6) !default;\n$green-300: tint-color($green, 4) !default;\n$green-400: tint-color($green, 2) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 2) !default;\n$green-700: shade-color($green, 4) !default;\n$green-800: shade-color($green, 6) !default;\n$green-900: shade-color($green, 8) !default;\n\n$teal-100: tint-color($teal, 8) !default;\n$teal-200: tint-color($teal, 6) !default;\n$teal-300: tint-color($teal, 4) !default;\n$teal-400: tint-color($teal, 2) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 2) !default;\n$teal-700: shade-color($teal, 4) !default;\n$teal-800: shade-color($teal, 6) !default;\n$teal-900: shade-color($teal, 8) !default;\n\n$cyan-100: tint-color($cyan, 8) !default;\n$cyan-200: tint-color($cyan, 6) !default;\n$cyan-300: tint-color($cyan, 4) !default;\n$cyan-400: tint-color($cyan, 2) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 2) !default;\n$cyan-700: shade-color($cyan, 4) !default;\n$cyan-800: shade-color($cyan, 6) !default;\n$cyan-900: shade-color($cyan, 8) !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-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// 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// 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-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: null !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !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: 1rem !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\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// scss-docs-start embed-responsive-aspect-ratios\n$embed-responsive-aspect-ratios: (\n \"21by9\": (\n x: 21,\n y: 9\n ),\n \"16by9\": (\n x: 16,\n y: 9\n ),\n \"4by3\": (\n x: 4,\n y: 3\n ),\n \"1by1\": (\n x: 1,\n y: 1\n )\n) !default;\n// scss-docs-end embed-responsive-aspect-ratios\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\", 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(--bs-font-sans-serif) !default;\n$font-family-code: var(--bs-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$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-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-seperator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n\n$table-variants: (\n \"primary\": color-level($primary, $table-bg-level),\n \"secondary\": color-level($secondary, $table-bg-level),\n \"success\": color-level($success, $table-bg-level),\n \"info\": color-level($info, $table-bg-level),\n \"warning\": color-level($warning, $table-bg-level),\n \"danger\": color-level($danger, $table-bg-level),\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: .2rem !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: $gray-700 !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: lighten($component-active-bg, 25%) !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: 1.25em !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-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-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\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: lighten($component-active-bg, 35%) !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\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-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-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: $gray-200 !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: darken($gray-900, 5%) !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\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-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\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: darken($popover-bg, 3%) !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: .25rem !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: .25em !default;\n$badge-padding-x: .5em !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-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\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-level: -9 !default;\n$list-group-item-color-level: 6 !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: 20px !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 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 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 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></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\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$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\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-blacklist\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) {\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) {\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) {\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) {\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) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($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","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/_variables.scss","../../scss/vendor/_rfs.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"AAAA;;;;;;ECME;ACSF;;;EAGE,sBAAsB;ADPxB;;AC4BA;EACE,SAAS;EACT,yLCwVwM;ECtIpM,eAvE+B;EFzInC,gBCqW+B;EDpW/B,gBC0W+B;EDzW/B,cC7BgB;ED+BhB,sBCxCa;EDyCb,8BAA8B;EAC9B,6CChCa;AFMf;;AAEA;ECsCE,qBAAqB;ADpCvB;;AC8CA;EACE,cAAsB;EACtB,cC4XmC;ED3XnC,8BAA8B;EAC9B,SAAS;EACT,aC2X+B;AFtajC;;AC8CA;EACE,WC4P+B;AFvSjC;;ACqDA;EACE,aAAa;EACb,qBCmUuC;EDhUvC,gBCmU+B;EDlU/B,gBCmU+B;AFvXjC;;ACwDA;EEyJQ,iCAf6B;AH9LrC;;AG2CI;EFSJ;IEgKQ,iBAlF6B;EH7HnC;AACF;;ACmDA;EEoJQ,iCAf6B;AHpLrC;;AGiCI;EFcJ;IE2JQ,eAlF6B;EHnHnC;AACF;;AC8CA;EE+IQ,+BAf6B;AH1KrC;;AGuBI;EFmBJ;IEsJQ,kBAlF6B;EHzGnC;AACF;;ACyCA;EE0IQ,iCAf6B;AHhKrC;;AGaI;EFwBJ;IEiJQ,iBAlF6B;EH/FnC;AACF;;ACoCA;EEiIM,kBAvE+B;AH1FrC;;ACqCA;EE4HM,eAvE+B;AHtFrC;;AC4CA;EACE,aAAa;EACb,mBCuI8B;AFhLhC;;ACoDA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,sCAA8B;EAA9B,8BAA8B;ADjDhC;;ACuDA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;ADpDtB;;AC0DA;;EAEE,kBAAkB;ADvDpB;;AC0DA;;;EAGE,aAAa;EACb,mBAAmB;ADvDrB;;AC0DA;;;;EAIE,gBAAgB;ADvDlB;;AC0DA;EACE,gBCkN+B;AFzQjC;;AC4DA;EACE,oBAAoB;EACpB,cAAc;ADzDhB;;AC+DA;EACE,gBAAgB;AD5DlB;;ACoEA;;EAEE,mBC2LkC;AF5PpC;;ACyEA;EE4BM,kBAvE+B;AH1BrC;;AC4EA;EACE,cCwOgC;EDvOhC,yBC+OmC;AFxTrC;;ACkFA;;EAEE,kBAAkB;EEQd,iBAvE+B;EFiEnC,cAAc;EACd,wBAAwB;AD/E1B;;ACkFA;EAAM,cAAc;AD9EpB;;AC+EA;EAAM,UAAU;AD3EhB;;ACgFA;EACE,cC/Ne;EDgOf,0BCKiD;AFlFnD;;AC2EA;EAKI,cCG8D;AF/ElE;;ACsFA;EAGI,cAAc;EACd,qBAAqB;ADrFzB;;AC4FA;;;;EAIE,iGCqGgH;ECvI5G,cAvE+B;AHiBrC;;ACkGA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,cAAc;EEhDV,kBAvE+B;EF0HnC,6BAA6B;ADhG/B;;ACyFA;EE5CM,kBAvE+B;EF+HjC,cAAc;EACd,kBAAkB;ADhGtB;;ACoGA;EE7DM,kBAvE+B;EFsInC,cCtRe;EDuRf,qBAAqB;ADjGvB;;ACoGE;EACE,cAAc;ADjGlB;;ACqGA;EACE,sBCk6BuC;EC3+BnC,kBAvE+B;EFkJnC,WC/Ta;EDgUb,yBCvTgB;EEEd,qBFgU+B;AF5GnC;;AC6FA;EAQI,UAAU;EEhFR,cAvE+B;EFyJjC,gBCoE6B;AFrKjC;;AC0GA;EACE,gBAAgB;ADvGlB;;AC6GA;;EAEE,sBAAsB;AD1GxB;;ACkHA;EACE,oBAAoB;EACpB,yBAAyB;AD/G3B;;ACkHA;EACE,mBCkHiC;EDjHjC,sBCiHiC;EDhHjC,cClWgB;EDmWhB,gBAAgB;AD/GlB;;ACqHA;EACE,mBAAmB;EACnB,gCAAgC;ADlHlC;;ACqHA;;;;;;EAME,qBAAqB;EACrB,mBAAmB;EACnB,eAAe;ADlHjB;;AC0HA;EACE,qBAAqB;ADvHvB;;AC6HA;EAEE,gBAAgB;AD3HlB;;ACkIA;EACE,mBAAmB;EACnB,0CAA0C;AD/H5C;;ACoIA;;;;;EAKE,SAAS;EACT,oBAAoB;EE7KhB,kBAvE+B;EFsPnC,oBAAoB;ADjItB;;ACsIA;;EAEE,iBAAiB;ADnInB;;ACwIA;;EAEE,oBAAoB;ADrItB;;AAEA;EC0IE,eAAe;ADxIjB;;AC8IA;EACE,iBAAiB;AD3InB;;AAEA;ECgJE,aAAa;AD9If;;ACsJA;;;;EAIE,0BAA0B;ADnJ5B;;AC+IA;;;;EAQM,eAAe;ADhJrB;;ACuJA;EACE,UAAU;EACV,kBAAkB;ADpJpB;;ACyJA;EACE,gBAAgB;ADtJlB;;ACgKA;EACE,YAAY;EACZ,UAAU;EACV,SAAS;EACT,SAAS;AD7JX;;ACsKA;EACE,WAAW;EACX,WAAW;EACX,UAAU;EACV,qBC5DiC;EC5M3B,iCAf6B;EF0RnC,oBAAoB;EACpB,mBAAmB;ADpKrB;;AG1QI;EFsaJ;IE7PQ,iBAlF6B;EHwLnC;AACF;;ACsJA;EAWI,WAAW;AD7Jf;;ACoKA;;;;;;;EAOE,UAAU;ADjKZ;;ACoKA;EACE,YAAY;ADjKd;;AAEA;ECyKE,oBAAoB;EACpB,6BAA6B;ADvK/B;;AC4KA;EACE,wBAAwB;ADzK1B;;AC8KA;EACE,UAAU;AD3KZ;;ACiLA;EACE,aAAa;EACb,0BAA0B;AD9K5B;;ACmLA;EACE,qBAAqB;ADhLvB;;ACqLA;EACE,SAAS;ADlLX;;ACyLA;EACE,kBAAkB;EAClB,eAAe;ADtLjB;;AC8LA;EACE,wBAAwB;AD3L1B;;AAEA;ECkME,wBAAwB;ADhM1B","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v5.0.0-alpha1 (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-alpha1 (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 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// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\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. Matches default `<td>` alignment by inheriting `text-align`.\n// 2. Fix alignment for Safari\n\nth {\n text-align: inherit; // 1\n text-align: -webkit-match-parent; // 2\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-blacklist\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: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !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-800 !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// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\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: 3 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $gray-900 !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 8) !default;\n$blue-200: tint-color($blue, 6) !default;\n$blue-300: tint-color($blue, 4) !default;\n$blue-400: tint-color($blue, 2) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 2) !default;\n$blue-700: shade-color($blue, 4) !default;\n$blue-800: shade-color($blue, 6) !default;\n$blue-900: shade-color($blue, 8) !default;\n\n$indigo-100: tint-color($indigo, 8) !default;\n$indigo-200: tint-color($indigo, 6) !default;\n$indigo-300: tint-color($indigo, 4) !default;\n$indigo-400: tint-color($indigo, 2) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 2) !default;\n$indigo-700: shade-color($indigo, 4) !default;\n$indigo-800: shade-color($indigo, 6) !default;\n$indigo-900: shade-color($indigo, 8) !default;\n\n$purple-100: tint-color($purple, 8) !default;\n$purple-200: tint-color($purple, 6) !default;\n$purple-300: tint-color($purple, 4) !default;\n$purple-400: tint-color($purple, 2) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 2) !default;\n$purple-700: shade-color($purple, 4) !default;\n$purple-800: shade-color($purple, 6) !default;\n$purple-900: shade-color($purple, 8) !default;\n\n$pink-100: tint-color($pink, 8) !default;\n$pink-200: tint-color($pink, 6) !default;\n$pink-300: tint-color($pink, 4) !default;\n$pink-400: tint-color($pink, 2) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 2) !default;\n$pink-700: shade-color($pink, 4) !default;\n$pink-800: shade-color($pink, 6) !default;\n$pink-900: shade-color($pink, 8) !default;\n\n$red-100: tint-color($red, 8) !default;\n$red-200: tint-color($red, 6) !default;\n$red-300: tint-color($red, 4) !default;\n$red-400: tint-color($red, 2) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 2) !default;\n$red-700: shade-color($red, 4) !default;\n$red-800: shade-color($red, 6) !default;\n$red-900: shade-color($red, 8) !default;\n\n$orange-100: tint-color($orange, 8) !default;\n$orange-200: tint-color($orange, 6) !default;\n$orange-300: tint-color($orange, 4) !default;\n$orange-400: tint-color($orange, 2) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 2) !default;\n$orange-700: shade-color($orange, 4) !default;\n$orange-800: shade-color($orange, 6) !default;\n$orange-900: shade-color($orange, 8) !default;\n\n$yellow-100: tint-color($yellow, 8) !default;\n$yellow-200: tint-color($yellow, 6) !default;\n$yellow-300: tint-color($yellow, 4) !default;\n$yellow-400: tint-color($yellow, 2) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 2) !default;\n$yellow-700: shade-color($yellow, 4) !default;\n$yellow-800: shade-color($yellow, 6) !default;\n$yellow-900: shade-color($yellow, 8) !default;\n\n$green-100: tint-color($green, 8) !default;\n$green-200: tint-color($green, 6) !default;\n$green-300: tint-color($green, 4) !default;\n$green-400: tint-color($green, 2) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 2) !default;\n$green-700: shade-color($green, 4) !default;\n$green-800: shade-color($green, 6) !default;\n$green-900: shade-color($green, 8) !default;\n\n$teal-100: tint-color($teal, 8) !default;\n$teal-200: tint-color($teal, 6) !default;\n$teal-300: tint-color($teal, 4) !default;\n$teal-400: tint-color($teal, 2) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 2) !default;\n$teal-700: shade-color($teal, 4) !default;\n$teal-800: shade-color($teal, 6) !default;\n$teal-900: shade-color($teal, 8) !default;\n\n$cyan-100: tint-color($cyan, 8) !default;\n$cyan-200: tint-color($cyan, 6) !default;\n$cyan-300: tint-color($cyan, 4) !default;\n$cyan-400: tint-color($cyan, 2) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 2) !default;\n$cyan-700: shade-color($cyan, 4) !default;\n$cyan-800: shade-color($cyan, 6) !default;\n$cyan-900: shade-color($cyan, 8) !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-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// 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// 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-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: null !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !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: 1rem !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\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// scss-docs-start embed-responsive-aspect-ratios\n$embed-responsive-aspect-ratios: (\n \"21by9\": (\n x: 21,\n y: 9\n ),\n \"16by9\": (\n x: 16,\n y: 9\n ),\n \"4by3\": (\n x: 4,\n y: 3\n ),\n \"1by1\": (\n x: 1,\n y: 1\n )\n) !default;\n// scss-docs-end embed-responsive-aspect-ratios\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\", 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(--bs-font-sans-serif) !default;\n$font-family-code: var(--bs-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$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-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-seperator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n\n$table-variants: (\n \"primary\": color-level($primary, $table-bg-level),\n \"secondary\": color-level($secondary, $table-bg-level),\n \"success\": color-level($success, $table-bg-level),\n \"info\": color-level($info, $table-bg-level),\n \"warning\": color-level($warning, $table-bg-level),\n \"danger\": color-level($danger, $table-bg-level),\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: .2rem !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: $gray-700 !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: lighten($component-active-bg, 25%) !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: 1.25em !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-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-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\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: lighten($component-active-bg, 35%) !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\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-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-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: $gray-200 !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: darken($gray-900, 5%) !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\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-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\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: darken($popover-bg, 3%) !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: .25rem !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: .25em !default;\n$badge-padding-x: .5em !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-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\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-level: -9 !default;\n$list-group-item-color-level: 6 !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: 20px !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 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 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 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></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\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$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\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-blacklist\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) {\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) {\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) {\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) {\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) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($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 6dff6f5336..f4c839db83 100644
--- a/dist/css/bootstrap-reboot.min.css
+++ b/dist/css/bootstrap-reboot.min.css
@@ -2,7 +2,7 @@
* Bootstrap Reboot v5.0.0-alpha1 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * 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}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}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}
/*# 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 215fbcfa55..2bf6341119 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-alpha1 (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/master/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// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\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. Matches default `<td>` alignment by inheriting `text-align`.\n// 2. Fix alignment for Safari\n\nth {\n text-align: inherit; // 1\n text-align: -webkit-match-parent; // 2\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-blacklist\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// 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-alpha1 (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/master/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\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-alpha1 (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/master/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\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-blacklist\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) {\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) {\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) {\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) {\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) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($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","bootstrap-reboot.css","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Reboot v5.0.0-alpha1 (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// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\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. Matches default `<td>` alignment by inheriting `text-align`.\n// 2. Fix alignment for Safari\n\nth {\n text-align: inherit; // 1\n text-align: -webkit-match-parent; // 2\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-blacklist\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-alpha1 (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-alpha1 (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-blacklist\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) {\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) {\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) {\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) {\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) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($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 7ce446327e..0afc789c20 100644
--- a/dist/css/bootstrap-utilities.css
+++ b/dist/css/bootstrap-utilities.css
@@ -2,7 +2,7 @@
* Bootstrap Utilities v5.0.0-alpha1 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
.align-baseline {
vertical-align: baseline !important;
diff --git a/dist/css/bootstrap-utilities.css.map b/dist/css/bootstrap-utilities.css.map
index 5e5e67f5a8..335b1d4464 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,wBAA+D;ADSzE;;ACXM;EAEI,0BAA+D;ADazE;;ACfM;EAEI,gCAA+D;ADiBzE;;ACnBM;EAEI,yBAA+D;ADqBzE;;ACvBM;EAEI,yBAA+D;ADyBzE;;AC3BM;EAEI,6BAA+D;AD6BzE;;AC/BM;EAEI,8BAA+D;ADiCzE;;ACnCM;EAEI,wBAA+D;ADqCzE;;ACvCM;EAEI,+BAA+D;ADyCzE;;AC3CM;EAEI,wDAA+D;AD6CzE;;AC/CM;EAEI,8DAA+D;ADiDzE;;ACnDM;EAEI,uDAA+D;ADqDzE;;ACvDM;EAEI,2BAA+D;ADyDzE;;AC3DM;EAEI,2BAA+D;AD6DzE;;AC/DM;EAEI,6BAA+D;ADiEzE;;ACnEM;EAEI,6BAA+D;ADqEzE;;ACvEM;EAEI,0BAA+D;ADyEzE;;AC3EM;EAEI,mCAA+D;EAA/D,2BAA+D;AD6EzE;;AC/EM;EAEI,oCAA+D;ADiFzE;;ACnFM;EAEI,oBAA+D;ADqFzE;;ACvFM;EAEI,wCAA+D;ADyFzE;;AC3FM;EAEI,wBAA+D;AD6FzE;;AC/FM;EAEI,0CAA+D;ADiGzE;;ACnGM;EAEI,0BAA+D;ADqGzE;;ACvGM;EAEI,2CAA+D;ADyGzE;;AC3GM;EAEI,2BAA+D;AD6GzE;;AC/GM;EAEI,yCAA+D;ADiHzE;;ACnHM;EAEI,yBAA+D;ADqHzE;;ACvHM;EAEI,gCAA+D;ADyHzE;;AC3HM;EAEI,gCAA+D;AD6HzE;;AC/HM;EAEI,gCAA+D;ADiIzE;;ACnIM;EAEI,gCAA+D;ADqIzE;;ACvIM;EAEI,gCAA+D;ADyIzE;;AC3IM;EAEI,gCAA+D;AD6IzE;;AC/IM;EAEI,gCAA+D;ADiJzE;;ACnJM;EAEI,gCAA+D;ADqJzE;;ACvJM;EAEI,6BAA+D;ADyJzE;;AC3JM;EAEI,qBAA+D;AD6JzE;;AC/JM;EAEI,qBAA+D;ADiKzE;;ACnKM;EAEI,qBAA+D;ADqKzE;;ACvKM;EAEI,sBAA+D;ADyKzE;;AC3KM;EAEI,sBAA+D;AD6KzE;;AC/KM;EAEI,0BAA+D;ADiLzE;;ACnLM;EAEI,uBAA+D;ADqLzE;;ACvLM;EAEI,2BAA+D;ADyLzE;;AC3LM;EAEI,sBAA+D;AD6LzE;;AC/LM;EAEI,sBAA+D;ADiMzE;;ACnMM;EAEI,sBAA+D;ADqMzE;;ACvMM;EAEI,uBAA+D;ADyMzE;;AC3MM;EAEI,uBAA+D;AD6MzE;;AC/MM;EAEI,2BAA+D;ADiNzE;;ACnNM;EAEI,wBAA+D;ADqNzE;;ACvNM;EAEI,4BAA+D;ADyNzE;;AC3NM;EAEI,yBAA+D;AD6NzE;;AC/NM;EAEI,8BAA+D;ADiOzE;;ACnOM;EAEI,iCAA+D;ADqOzE;;ACvOM;EAEI,sCAA+D;ADyOzE;;AC3OM;EAEI,yCAA+D;AD6OzE;;AC/OM;EAEI,uBAA+D;ADiPzE;;ACnPM;EAEI,uBAA+D;ADqPzE;;ACvPM;EAEI,yBAA+D;ADyPzE;;AC3PM;EAEI,yBAA+D;AD6PzE;;AC/PM;EAEI,0BAA+D;ADiQzE;;ACnQM;EAEI,4BAA+D;ADqQzE;;ACvQM;EAEI,kCAA+D;ADyQzE;;AC3QM;EAEI,sCAA+D;AD6QzE;;AC/QM;EAEI,oCAA+D;ADiRzE;;ACnRM;EAEI,kCAA+D;ADqRzE;;ACvRM;EAEI,yCAA+D;ADyRzE;;AC3RM;EAEI,wCAA+D;AD6RzE;;AC/RM;EAEI,wCAA+D;ADiSzE;;ACnSM;EAEI,kCAA+D;ADqSzE;;ACvSM;EAEI,gCAA+D;ADySzE;;AC3SM;EAEI,8BAA+D;AD6SzE;;AC/SM;EAEI,gCAA+D;ADiTzE;;ACnTM;EAEI,+BAA+D;ADqTzE;;ACvTM;EAEI,oCAA+D;ADyTzE;;AC3TM;EAEI,kCAA+D;AD6TzE;;AC/TM;EAEI,gCAA+D;ADiUzE;;ACnUM;EAEI,uCAA+D;ADqUzE;;ACvUM;EAEI,sCAA+D;ADyUz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CI;IAEI,4BAA+D;EDo/CvE;ECt/CI;IAEI,6BAA+D;EDu/CvE;AACF;;AEp+CI;EDtBE;IAEI,sBAA+D;ED6/CvE;EC//CI;IAEI,uBAA+D;EDggDvE;EClgDI;IAEI,sBAA+D;EDmgDvE;ECrgDI;IAEI,wBAA+D;EDsgDvE;ECxgDI;IAEI,0BAA+D;EDygDvE;EC3gDI;IAEI,gCAA+D;ED4gDvE;EC9gDI;IAEI,yBAA+D;ED+gDvE;ECjhDI;IAEI,yBAA+D;EDkhDvE;ECphDI;IAEI,6BAA+D;EDqhDvE;ECvhDI;IAEI,8BAA+D;EDwhDvE;EC1hDI;IAEI,wBAA+D;ED2hDvE;EC7hDI;IAEI,+BAA+D;ED8hDvE;EChiDI;IAEI,yBAA+D;EDiiDvE;ECniDI;IAEI,8BAA+D;EDoiDvE;ECtiDI;IAEI,iCAA+D;EDuiDvE;ECziDI;IAEI,sCAA+D;ED0iDvE;EC5iDI;IAEI,yCAA+D;ED6iDvE;EC/iDI;IAEI,uBAA+D;EDgjDvE;ECljDI;IAEI,uBAA+D;EDmjDvE;ECrjDI;IAEI,yBAA+D;EDsjDvE;ECxjDI;IAEI,yBAA+D;EDyjDvE;EC3jDI;IAEI,0BAA+D;ED4jDvE;EC9jDI;IAEI,4BAA+D;ED+jDvE;ECjkDI;IAEI,kCAA+D;EDkkDvE;ECpkDI;IAEI,sCAA+D;EDqkDvE;ECvkDI;IAEI,oCAA+D;EDwkDvE;EC1kDI;IAEI,kCAA+D;ED2kDvE;EC7kDI;IAEI,yCAA+D;ED8kDvE;EChlDI;IAEI,wCAA+D;EDilDvE;ECnlDI;IAEI,wCAA+D;EDolDvE;ECtlDI;IAEI,kCAA+D;EDulDvE;ECzlDI;IAEI,gCAA+D;ED0lDvE;EC5lDI;IAEI,8BAA+D;ED6lDvE;EC/lDI;IAEI,gCAA+D;EDgmDvE;EClmDI;IAEI,+BAA+D;EDmmDvE;ECrmDI;IAEI,oCAA+D;EDsmDvE;ECxmDI;IAEI,kCAA+D;EDymDvE;EC3mDI;IAEI,gCAA+D;ED4mDvE;EC9mDI;IAEI,uCAA+D;ED+mDvE;ECjnDI;IAEI,sCAA+D;EDknDvE;ECpnDI;IAEI,iCAA+D;EDqnDvE;ECvnDI;IAEI,2BAA+D;EDwnDvE;EC1nDI;IAEI,iCAA+D;ED2nDvE;EC7nDI;IAEI,+BAA+D;ED8nDvE;EChoDI;IAEI,6BAA+D;EDioDvE;ECnoDI;IAEI,+BAA+D;EDooDvE;ECtoDI;IAEI,8BAA+D;EDuoDvE;ECzoDI;IAEI,oBAA+D;ED0oDvE;EC5oDI;IAEI,mBAA+D;ED6oDvE;EC/oDI;IAEI,mBAA+D;EDgpDvE;EClpDI;IAEI,mBAA+D;EDmpDvE;ECrpDI;IAEI,mBAA+D;EDspDvE;ECxpDI;IAEI,mBAA+D;EDypDvE;EC3pDI;IAEI,mBAA+D;ED4pDvE;EC9pDI;IAEI,mBAA+D;ED+pDvE;ECjqDI;IAEI,oBAA+D;EDkqDvE;ECpqDI;IAEI,0BAA+D;EDqqDvE;ECvqDI;IAEI,yBAA+D;EDwqDvE;EC1qDI;IAEI,uBAA+D;ED2qDvE;EC7qDI;IAEI,yBAA+D;ED8qDvE;EChrDI;IAEI,uBAA+D;EDirDvE;ECnrDI;IAEI,uBAA+D;EDorDvE;ECtrDI;IAEI,0BAA+D;IAA/D,yBAA+D;EDwrDvE;EC1rDI;IAEI,gCAA+D;IAA/D,+BAA+D;ED4rDvE;EC9rDI;IAEI,+BAA+D;IAA/D,8BAA+D;EDgsDvE;EClsDI;IAEI,6BAA+D;IAA/D,4BAA+D;EDosDvE;ECtsDI;IAEI,+BAA+D;IAA/D,8BAA+D;EDwsDvE;EC1sDI;IAEI,6BAA+D;IAA/D,4BAA+D;ED4sDvE;EC9sDI;IAEI,6BAA+D;IAA/D,4BAA+D;EDgtDvE;ECltDI;IAEI,wBAA+D;IAA/D,2BAA+D;EDotDvE;ECttDI;IAEI,8BAA+D;IAA/D,iCAA+D;EDwtDvE;EC1tDI;IAEI,6BAA+D;IAA/D,gCAA+D;ED4tDvE;EC9tDI;IAEI,2BAA+D;IAA/D,8BAA+D;EDguDvE;ECluDI;IAEI,6BAA+D;IAA/D,gCAA+D;EDouDvE;ECtuDI;IAEI,2BAA+D;IAA/D,8BAA+D;EDwuDvE;EC1uDI;IAEI,2BAA+D;IAA/D,8BAA+D;ED4uDvE;EC9uDI;IAEI,wBAA+D;ED+uDvE;ECjvDI;IAEI,8BAA+D;EDkvDvE;ECpvDI;IAEI,6BAA+D;EDqvDvE;ECvvDI;IAEI,2BAA+D;EDwvDvE;EC1vDI;IAEI,6BAA+D;ED2vDvE;EC7vDI;IAEI,2BAA+D;ED8vDvE;EChwDI;IAEI,2BAA+D;EDiwDvE;ECnwDI;IAEI,0BAA+D;EDowDvE;ECtwDI;IAEI,gCAA+D;EDuwDvE;ECzwDI;IAEI,+BAA+D;ED0wDvE;EC5wDI;IAEI,6BAA+D;ED6wDvE;EC/wDI;IAEI,+BAA+D;EDgxDvE;EClxDI;IAEI,6BAA+D;EDmxDvE;ECrxDI;IAEI,6BAA+D;EDsxDvE;ECxxDI;IAEI,2BAA+D;EDyxDvE;EC3xDI;IAEI,iCAA+D;ED4xDvE;EC9xDI;IAEI,gCAA+D;ED+xDvE;ECjyDI;IAEI,8BAA+D;EDkyDvE;ECpyDI;IAEI,gCAA+D;EDqyDvE;ECvyDI;IAEI,8BAA+D;EDwyDvE;EC1yDI;IAEI,8BAA+D;ED2yDvE;EC7yDI;IAEI,yBAA+D;ED8yDvE;EChzDI;IAEI,+BAA+D;EDizDvE;ECnzDI;IAEI,8BAA+D;EDozDvE;ECtzDI;IAEI,4BAA+D;EDuzDvE;ECzzDI;IAEI,8BAA+D;ED0zDvE;EC5zDI;IAEI,4BAA+D;ED6zDvE;EC/zDI;IAEI,4BAA+D;EDg0DvE;ECl0DI;IAEI,qBAA+D;EDm0DvE;ECr0DI;IAEI,2BAA+D;EDs0DvE;ECx0DI;IAEI,0BAA+D;EDy0DvE;EC30DI;IAEI,wBAA+D;ED40DvE;EC90DI;IAEI,0BAA+D;ED+0DvE;ECj1DI;IAEI,wBAA+D;EDk1DvE;ECp1DI;IAEI,2BAA+D;IAA/D,0BAA+D;EDs1DvE;ECx1DI;IAEI,iCAA+D;IAA/D,gCAA+D;ED01DvE;EC51DI;IAEI,gCAA+D;IAA/D,+BAA+D;ED81DvE;ECh2DI;IAEI,8BAA+D;IAA/D,6BAA+D;EDk2DvE;ECp2DI;IAEI,gCAA+D;IAA/D,+BAA+D;EDs2DvE;ECx2DI;IAEI,8BAA+D;IAA/D,6BAA+D;ED02DvE;EC52DI;IAEI,yBAA+D;IAA/D,4BAA+D;ED82DvE;ECh3DI;IAEI,+BAA+D;IAA/D,kCAA+D;EDk3DvE;ECp3DI;IAEI,8BAA+D;IAA/D,iCAA+D;EDs3DvE;ECx3DI;IAEI,4BAA+D;IAA/D,+BAA+D;ED03DvE;EC53DI;IAEI,8BAA+D;IAA/D,iCAA+D;ED83DvE;ECh4DI;IAEI,4BAA+D;IAA/D,+BAA+D;EDk4DvE;ECp4DI;IAEI,yBAA+D;EDq4DvE;ECv4DI;IAEI,+BAA+D;EDw4DvE;EC14DI;IAEI,8BAA+D;ED24DvE;EC74DI;IAEI,4BAA+D;ED84DvE;ECh5DI;IAEI,8BAA+D;EDi5DvE;ECn5DI;IAEI,4BAA+D;EDo5DvE;ECt5DI;IAEI,2BAA+D;EDu5DvE;ECz5DI;IAEI,iCAA+D;ED05DvE;EC55DI;IAEI,gCAA+D;ED65DvE;EC/5DI;IAEI,8BAA+D;EDg6DvE;ECl6DI;IAEI,gCAA+D;EDm6DvE;ECr6DI;IAEI,8BAA+D;EDs6DvE;ECx6DI;IAEI,4BAA+D;EDy6DvE;EC36DI;IAEI,kCAA+D;ED46DvE;EC96DI;IAEI,iCAA+D;ED+6DvE;ECj7DI;IAEI,+BAA+D;EDk7DvE;ECp7DI;IAEI,iCAA+D;EDq7DvE;ECv7DI;IAEI,+BAA+D;EDw7DvE;EC17DI;IAEI,0BAA+D;ED27DvE;EC77DI;IAEI,gCAA+D;ED87DvE;ECh8DI;IAEI,+BAA+D;EDi8DvE;ECn8DI;IAEI,6BAA+D;EDo8DvE;ECt8DI;IAEI,+BAA+D;EDu8DvE;ECz8DI;IAEI,6BAA+D;ED08DvE;EC58DI;IAEI,2BAA+D;ED68DvE;EC/8DI;IAEI,4BAA+D;EDg9DvE;ECl9DI;IAEI,6BAA+D;EDm9DvE;AACF;;AEh8DI;EDtBE;IAEI,sBAA+D;EDy9DvE;EC39DI;IAEI,uBAA+D;ED49DvE;EC99DI;IAEI,sBAA+D;ED+9DvE;ECj+DI;IAEI,wBAA+D;EDk+DvE;ECp+DI;IAEI,0BAA+D;EDq+DvE;ECv+DI;IAEI,gCAA+D;EDw+DvE;EC1+DI;IAEI,yBAA+D;ED2+DvE;EC7+DI;IAEI,yBAA+D;ED8+DvE;ECh/DI;IAEI,6BAA+D;EDi/DvE;ECn/DI;IAEI,8BAA+D;EDo/DvE;ECt/DI;IAEI,wBAA+D;EDu/DvE;ECz/DI;IAEI,+BAA+D;ED0/DvE;EC5/DI;IAEI,yBAA+D;ED6/DvE;EC//DI;IAEI,8BAA+D;EDggEvE;EClgEI;IAEI,iCAA+D;EDmgEvE;ECrgEI;IAEI,sCAA+D;EDsgEvE;ECxgEI;IAEI,yCAA+D;EDygEvE;EC3gEI;IAEI,uBAA+D;ED4gEvE;EC9gEI;IAEI,uBAA+D;ED+gEvE;ECjhEI;IAEI,yBAA+D;EDkhEvE;ECphEI;IAEI,yBAA+D;EDqhEvE;ECvhEI;IAEI,0BAA+D;EDwhEvE;EC1hEI;IAEI,4BAA+D;ED2hEvE;EC7hEI;IAEI,kCAA+D;ED8hEvE;EChiEI;IAEI,sCAA+D;EDiiEvE;ECniEI;IAEI,oCAA+D;EDoiEvE;ECtiEI;IAEI,kCAA+D;EDuiEvE;ECziEI;IAEI,yCAA+D;ED0iEvE;EC5iEI;IAEI,wCAA+D;ED6iEvE;EC/iEI;IAEI,wCAA+D;EDgjEvE;ECljEI;IAEI,kCAA+D;EDmjEvE;ECrjEI;IAEI,gCAA+D;EDsjEvE;ECxjEI;IAEI,8BAA+D;EDyjEvE;EC3jEI;IAEI,gCAA+D;ED4jEvE;EC9jEI;IAEI,+BAA+D;ED+jEvE;ECjkEI;IAEI,oCAA+D;EDkkEvE;ECpkEI;IAEI,kCAA+D;EDqkEvE;ECvkEI;IAEI,gCAA+D;EDwkEvE;EC1kEI;IAEI,uCAA+D;ED2kEvE;EC7kEI;IAEI,sCAA+D;ED8kEvE;EChlEI;IAEI,iCAA+D;EDilEvE;ECnlEI;IAEI,2BAA+D;EDolEvE;ECtlEI;IAEI,iCAA+D;EDulEvE;ECzlEI;IAEI,+BAA+D;ED0lEvE;EC5lEI;IAEI,6BAA+D;ED6lEvE;EC/lEI;IAEI,+BAA+D;EDgmEvE;EClmEI;IAEI,8BAA+D;EDmmEvE;ECrmEI;IAEI,oBAA+D;EDsmEvE;ECxmEI;IAEI,mBAA+D;EDymEvE;EC3mEI;IAEI,mBAA+D;ED4mEvE;EC9mEI;IAEI,mBAA+D;ED+mEvE;ECjnEI;IAEI,mBAA+D;EDknEvE;ECpnEI;IAEI,mBAA+D;EDqnEvE;ECvnEI;IAEI,mBAA+D;EDwnEvE;EC1nEI;IAEI,mBAA+D;ED2nEvE;EC7nEI;IAEI,oBAA+D;ED8nEvE;EChoEI;IAEI,0BAA+D;EDioEvE;ECnoEI;IAEI,yBAA+D;EDooEvE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EI,4BAA+D;EDq4EvE;ECv4EI;IAEI,kCAA+D;EDw4EvE;EC14EI;IAEI,iCAA+D;ED24EvE;EC74EI;IAEI,+BAA+D;ED84EvE;ECh5EI;IAEI,iCAA+D;EDi5EvE;ECn5EI;IAEI,+BAA+D;EDo5EvE;ECt5EI;IAEI,0BAA+D;EDu5EvE;ECz5EI;IAEI,gCAA+D;ED05EvE;EC55EI;IAEI,+BAA+D;ED65EvE;EC/5EI;IAEI,6BAA+D;EDg6EvE;ECl6EI;IAEI,+BAA+D;EDm6EvE;ECr6EI;IAEI,6BAA+D;EDs6EvE;ECx6EI;IAEI,2BAA+D;EDy6EvE;EC36EI;IAEI,4BAA+D;ED46EvE;EC96EI;IAEI,6BAA+D;ED+6EvE;AACF;;AE55EI;EDtBE;IAEI,sBAA+D;EDq7EvE;ECv7EI;IAEI,uBAA+D;EDw7EvE;EC17EI;IAEI,sBAA+D;ED27EvE;EC77EI;IAEI,wBAA+D;ED87EvE;ECh8EI;IAEI,0BAA+D;EDi8EvE;ECn8EI;IAEI,gCAA+D;EDo8EvE;ECt8EI;IAEI,yBAA+D;EDu8EvE;ECz8EI;IAEI,yBAA+D;ED08EvE;EC58EI;IAEI,6BAA+D;ED68EvE;EC/8EI;IAEI,8BAA+D;EDg9EvE;ECl9EI;IAEI,wBAA+D;EDm9EvE;ECr9EI;IAEI,+BAA+D;EDs9EvE;ECx9EI;IAEI,yBAA+D;EDy9EvE;EC39EI;IAEI,8BAA+D;ED49EvE;EC99EI;IAEI,iCAA+D;ED+9EvE;ECj+EI;IAEI,sCAA+D;EDk+EvE;ECp+EI;IAEI,yCAA+D;EDq+EvE;ECv+EI;IAEI,uBAA+D;EDw+EvE;EC1+EI;IAEI,uBAA+D;ED2+EvE;EC7+EI;IAEI,yBAA+D;ED8+EvE;ECh/EI;IAEI,yBAA+D;EDi/EvE;ECn/EI;IAEI,0BAA+D;EDo/EvE;ECt/EI;IAEI,4BAA+D;EDu/EvE;ECz/EI;IAEI,kCAA+D;ED0/EvE;EC5/EI;IAEI,sCAA+D;ED6/EvE;EC//EI;IAEI,oCAA+D;EDggFvE;EClgFI;IAEI,kCAA+D;EDmgFvE;ECrgFI;IAEI,yCAA+D;EDsgFvE;ECxgFI;IAEI,wCAA+D;EDygFvE;EC3gFI;IA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EDi5FvE;ECn5FI;IAEI,uBAA+D;EDo5FvE;ECt5FI;IAEI,sBAA+D;EDu5FvE;ECz5FI;IAEI,wBAA+D;ED05FvE;EC55FI;IAEI,0BAA+D;ED65FvE;EC/5FI;IAEI,gCAA+D;EDg6FvE;ECl6FI;IAEI,yBAA+D;EDm6FvE;ECr6FI;IAEI,yBAA+D;EDs6FvE;ECx6FI;IAEI,6BAA+D;EDy6FvE;EC36FI;IAEI,8BAA+D;ED46FvE;EC96FI;IAEI,wBAA+D;ED+6FvE;ECj7FI;IAEI,+BAA+D;EDk7FvE;ECp7FI;IAEI,yBAA+D;EDq7FvE;ECv7FI;IAEI,8BAA+D;EDw7FvE;EC17FI;IAEI,iCAA+D;ED27FvE;EC77FI;IAEI,sCAA+D;ED87FvE;ECh8FI;IAEI,yCAA+D;EDi8FvE;ECn8FI;IAEI,uBAA+D;EDo8FvE;ECt8FI;IAEI,uBAA+D;EDu8FvE;ECz8FI;IAEI,yBAA+D;ED08FvE;EC58FI;IAEI,yBAA+D;ED68FvE;EC/8FI;IAEI,0BAA+D;EDg9FvE;ECl9FI;IAEI,4BAA+D;EDm9FvE;ECr9FI;IAEI,kCAA+D;EDs9FvE;ECx9FI;IAEI,sCAA+D;EDy9FvE;EC39FI;IAEI,oCAA+D;ED49FvE;EC99FI;IAEI,kCAA+D;ED+9FvE;ECj+FI;IAEI,yCAA+D;EDk+FvE;ECp+FI;IAEI,wCAA+D;EDq+FvE;ECv+FI;IAEI,wCAA+D;EDw+FvE;EC1+FI;IAEI,kCAA+D;ED2+FvE;EC7+FI;IAEI,gCAA+D;ED8+FvE;ECh/FI;IAEI,8BAA+D;EDi/FvE;ECn/FI;IAEI,gCAA+D;EDo/FvE;ECt/FI;IAEI,+BAA+D;EDu/FvE;ECz/FI;IAEI,oCAA+D;ED0/FvE;EC5/FI;IAEI,kCAA+D;ED6/FvE;EC//FI;IAEI,gCAA+D;EDggGvE;EClgGI;IAEI,uCAA+D;EDmgGvE;ECrgGI;IAEI,sCAA+D;EDsgGvE;ECxgGI;IAEI,iCAA+D;EDygGvE;EC3gGI;IAEI,2BAA+D;ED4gGvE;EC9gGI;IAEI,iCAA+D;ED+gGvE;ECjhGI;IAEI,+BAA+D;EDkhGvE;ECphGI;IAEI,6BAA+D;EDqhGvE;ECvh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AA+D;EDsxGvE;ECxxGI;IAEI,yBAA+D;EDyxGvE;EC3xGI;IAEI,+BAA+D;ED4xGvE;EC9xGI;IAEI,8BAA+D;ED+xGvE;ECjyGI;IAEI,4BAA+D;EDkyGvE;ECpyGI;IAEI,8BAA+D;EDqyGvE;ECvyGI;IAEI,4BAA+D;EDwyGvE;EC1yGI;IAEI,2BAA+D;ED2yGvE;EC7yGI;IAEI,iCAA+D;ED8yGvE;EChzGI;IAEI,gCAA+D;EDizGvE;ECnzGI;IAEI,8BAA+D;EDozGvE;ECtzGI;IAEI,gCAA+D;EDuzGvE;ECzzGI;IAEI,8BAA+D;ED0zGvE;EC5zGI;IAEI,4BAA+D;ED6zGvE;EC/zGI;IAEI,kCAA+D;EDg0GvE;ECl0GI;IAEI,iCAA+D;EDm0GvE;ECr0GI;IAEI,+BAA+D;EDs0GvE;ECx0GI;IAEI,iCAA+D;EDy0GvE;EC30GI;IAEI,+BAA+D;ED40GvE;EC90GI;IAEI,0BAA+D;ED+0GvE;ECj1GI;IAEI,gCAA+D;EDk1GvE;ECp1GI;IAEI,+BAA+D;EDq1GvE;ECv1GI;IAEI,6BAA+D;EDw1GvE;EC11GI;IAEI,+BAA+D;ED21GvE;EC71GI;IAEI,6BAA+D;ED81GvE;ECh2GI;IAEI,2BAA+D;EDi2GvE;ECn2GI;IAEI,4BAA+D;EDo2GvE;ECt2GI;IAEI,6BAA+D;EDu2GvE;AACF;;AG72GA;EFGM;IAEI,wBAA+D;ED62GvE;EC/2GI;IAEI,0BAA+D;EDg3GvE;ECl3GI;IAEI,gCAA+D;EDm3GvE;ECr3GI;IAEI,yBAA+D;EDs3GvE;ECx3GI;IAEI,yBAA+D;EDy3GvE;EC33GI;IAEI,6BAA+D;ED43GvE;EC93GI;IAEI,8BAA+D;ED+3GvE;ECj4GI;IAEI,wBAA+D;EDk4GvE;ECp4GI;IAEI,+BAA+D;EDq4GvE;AACF","file":"bootstrap-utilities.css","sourcesContent":["/*!\n * Bootstrap Utilities v5.0.0-alpha1 (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/master/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-alpha1 (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/master/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.d-none {\n display: none !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.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.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: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !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.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: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !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: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: none !important;\n }\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}\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. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `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(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .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 $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $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","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,wBAA+D;ADSzE;;ACXM;EAEI,0BAA+D;ADazE;;ACfM;EAEI,gCAA+D;ADiBzE;;ACnBM;EAEI,yBAA+D;ADqBzE;;ACvBM;EAEI,yBAA+D;ADyBzE;;AC3BM;EAEI,6BAA+D;AD6BzE;;AC/BM;EAEI,8BAA+D;ADiCzE;;ACnCM;EAEI,wBAA+D;ADqCzE;;ACvCM;EAEI,+BAA+D;ADyCzE;;AC3CM;EAEI,wDAA+D;AD6CzE;;AC/CM;EAEI,8DAA+D;ADiDzE;;ACnDM;EAEI,uDAA+D;ADqDzE;;ACvDM;EAEI,2BAA+D;ADyDzE;;AC3DM;EAEI,2BAA+D;AD6DzE;;AC/DM;EAEI,6BAA+D;ADiEzE;;ACnEM;EAEI,6BAA+D;ADqEzE;;ACvEM;EAEI,0BAA+D;ADyEzE;;AC3EM;EAEI,mCAA+D;EAA/D,2BAA+D;AD6EzE;;AC/EM;EAEI,oCAA+D;ADiFzE;;ACnFM;EAEI,oBAA+D;ADqFzE;;ACvFM;EAEI,wCAA+D;ADyFzE;;AC3FM;EAEI,wBAA+D;AD6FzE;;AC/FM;EAEI,0CAA+D;ADiGzE;;ACnGM;EAEI,0BAA+D;ADqGzE;;ACvGM;EAEI,2CAA+D;ADyGzE;;AC3GM;EAEI,2BAA+D;AD6GzE;;AC/GM;EAEI,yCAA+D;ADiHzE;;ACnHM;EAEI,yBAA+D;ADqHzE;;ACvHM;EAEI,gCAA+D;ADyHzE;;AC3HM;EAEI,gCAA+D;AD6HzE;;AC/HM;EAEI,gCAA+D;ADiIzE;;ACnIM;EAEI,gCAA+D;ADqIzE;;ACvIM;EAEI,gCAA+D;ADyIzE;;AC3IM;EAEI,gCAA+D;AD6IzE;;AC/IM;EAEI,gCAA+D;ADiJzE;;ACnJM;EAEI,gCAA+D;ADqJzE;;ACvJM;EAEI,6BAA+D;ADyJzE;;AC3JM;EAEI,qBAA+D;AD6JzE;;AC/JM;EAEI,qBAA+D;ADiKzE;;ACnKM;EAEI,qBAA+D;ADqKzE;;ACvKM;EAEI,sBAA+D;ADyKzE;;AC3KM;EAEI,sBAA+D;AD6KzE;;AC/KM;EAEI,0BAA+D;ADiLzE;;ACnLM;EAEI,uBAA+D;ADqLzE;;ACvLM;EAEI,2BAA+D;ADyLzE;;AC3LM;EAEI,sBAA+D;AD6LzE;;AC/LM;EAEI,sBAA+D;ADiMzE;;ACnMM;EAEI,sBAA+D;ADqMzE;;ACvMM;EAEI,uBAA+D;ADyMzE;;AC3MM;EAEI,uBAA+D;AD6MzE;;AC/MM;EAEI,2BAA+D;ADiNzE;;ACnNM;EAEI,wBAA+D;ADqNzE;;ACvNM;EAEI,4BAA+D;ADyNzE;;AC3NM;EAEI,yBAA+D;AD6NzE;;AC/NM;EAEI,8BAA+D;ADiOzE;;ACnOM;EAEI,iCAA+D;ADqOzE;;ACvOM;EAEI,sCAA+D;ADyOzE;;AC3OM;EAEI,yCAA+D;AD6OzE;;AC/OM;EAEI,uBAA+D;ADiPzE;;ACnPM;EAEI,uBAA+D;ADqPzE;;ACvPM;EAEI,yBAA+D;ADyPzE;;AC3PM;EAEI,yBAA+D;AD6PzE;;AC/PM;EAEI,0BAA+D;ADiQzE;;ACnQM;EAEI,4BAA+D;ADqQzE;;ACvQM;EAEI,kCAA+D;ADyQzE;;AC3QM;EAEI,sCAA+D;AD6QzE;;AC/QM;EAEI,oCAA+D;ADiRzE;;ACnRM;EAEI,kCAA+D;ADqRzE;;ACvRM;EAEI,yCAA+D;ADyRzE;;AC3RM;EAEI,wCAA+D;AD6RzE;;AC/RM;EAEI,wCAA+D;ADiSzE;;ACnSM;EAEI,kCAA+D;ADqSzE;;ACvSM;EAEI,gCAA+D;ADySzE;;AC3SM;EAEI,8BAA+D;AD6SzE;;AC/SM;EAEI,gCAA+D;ADiTzE;;ACnTM;EAEI,+BAA+D;ADqTzE;;ACvTM;EAEI,oCAA+D;ADyTzE;;AC3TM;EAEI,kCAA+D;AD6TzE;;AC/TM;EAEI,gCAA+D;ADiUzE;;ACnUM;EAEI,uCAA+D;ADqUzE;;ACvUM;EAEI,sCAA+D;ADyUz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CI;IAEI,4BAA+D;EDo/CvE;ECt/CI;IAEI,6BAA+D;EDu/CvE;AACF;;AEp+CI;EDtBE;IAEI,sBAA+D;ED6/CvE;EC//CI;IAEI,uBAA+D;EDggDvE;EClgDI;IAEI,sBAA+D;EDmgDvE;ECrgDI;IAEI,wBAA+D;EDsgDvE;ECxgDI;IAEI,0BAA+D;EDygDvE;EC3gDI;IAEI,gCAA+D;ED4gDvE;EC9gDI;IAEI,yBAA+D;ED+gDvE;ECjhDI;IAEI,yBAA+D;EDkhDvE;ECphDI;IAEI,6BAA+D;EDqhDvE;ECvhDI;IAEI,8BAA+D;EDwhDvE;EC1hDI;IAEI,wBAA+D;ED2hDvE;EC7hDI;IAEI,+BAA+D;ED8hDvE;EChiDI;IAEI,yBAA+D;EDiiDvE;ECniDI;IAEI,8BAA+D;EDoiDvE;ECtiDI;IAEI,iCAA+D;EDuiDvE;ECziDI;IAEI,sCAA+D;ED0iDvE;EC5iDI;IAEI,yCAA+D;ED6iDvE;EC/iDI;IAEI,uBAA+D;EDgjDvE;ECljDI;IAEI,uBAA+D;EDmjDvE;ECrjDI;IAEI,yBAA+D;EDsjDvE;ECxjDI;IAEI,yBAA+D;EDyjDvE;EC3jDI;IAEI,0BAA+D;ED4jDvE;EC9jDI;IAEI,4BAA+D;ED+jDvE;ECjkDI;IAEI,kCAA+D;EDkkDvE;ECpkDI;IAEI,sCAA+D;EDqkDvE;ECvkDI;IAEI,oCAA+D;EDwkDvE;EC1kDI;IAEI,kCAA+D;ED2kDvE;EC7kDI;IAEI,yCAA+D;ED8kDvE;EChlDI;IAEI,wCAA+D;EDilDvE;ECnlDI;IAEI,wCAA+D;EDolDvE;ECtlDI;IAEI,kCAA+D;EDulDvE;ECzlDI;IAEI,gCAA+D;ED0lDvE;EC5lDI;IAEI,8BAA+D;ED6lDvE;EC/lDI;IAEI,gCAA+D;EDgmDvE;EClmDI;IAEI,+BAA+D;EDmmDvE;ECrmDI;IAEI,oCAA+D;EDsmDvE;ECxmDI;IAEI,kCAA+D;EDymDvE;EC3mDI;IAEI,gCAA+D;ED4mDvE;EC9mDI;IAEI,uCAA+D;ED+mDvE;ECjnDI;IAEI,sCAA+D;EDknDvE;ECpnDI;IAEI,iCAA+D;EDqnDvE;ECvnDI;IAEI,2BAA+D;EDwnDvE;EC1n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AA+D;EDggEvE;EClgEI;IAEI,iCAA+D;EDmgEvE;ECrgEI;IAEI,sCAA+D;EDsgEvE;ECxgEI;IAEI,yCAA+D;EDygEvE;EC3gEI;IAEI,uBAA+D;ED4gEvE;EC9gEI;IAEI,uBAA+D;ED+gEvE;ECjhEI;IAEI,yBAA+D;EDkhEvE;ECphEI;IAEI,yBAA+D;EDqhEvE;ECvhEI;IAEI,0BAA+D;EDwhEvE;EC1hEI;IAEI,4BAA+D;ED2hEvE;EC7hEI;IAEI,kCAA+D;ED8hEvE;EChiEI;IAEI,sCAA+D;EDiiEvE;ECniEI;IAEI,oCAA+D;EDoiEvE;ECtiEI;IAEI,kCAA+D;EDuiEvE;ECziEI;IAEI,yCAA+D;ED0iEvE;EC5iEI;IAEI,wCAA+D;ED6iEvE;EC/iEI;IAEI,wCAA+D;EDgjEvE;ECljEI;IAEI,kCAA+D;EDmjEvE;ECrjEI;IAEI,gCAA+D;EDsjEvE;ECxjEI;IAEI,8BAA+D;EDyjEvE;EC3jEI;IAEI,gCAA+D;ED4jEvE;EC9jEI;IAEI,+BAA+D;ED+jEvE;ECjkEI;IAEI,oCAA+D;EDkkEvE;ECpkEI;IAEI,kCAA+D;EDqkEvE;ECvkEI;IAEI,gCAA+D;EDwkEvE;EC1kEI;IAEI,uCAA+D;ED2kEvE;EC7kEI;IAEI,sCAA+D;ED8kEvE;EChlEI;IAEI,iCAA+D;EDilEvE;ECnlEI;IAEI,2BAA+D;EDolEvE;ECtlEI;IAEI,iCAA+D;EDulEvE;ECzlEI;IAEI,+BAA+D;ED0lEvE;EC5lEI;IAEI,6BAA+D;ED6lEvE;EC/lEI;IAEI,+BAA+D;EDgmEvE;EClmEI;IAEI,8BAA+D;EDmmEvE;ECrmEI;IAEI,oBAA+D;EDsmEvE;ECxmEI;IAEI,mBAA+D;EDymEvE;EC3mEI;IAEI,mBAA+D;ED4mEvE;EC9mEI;IAEI,mBAA+D;ED+mEvE;ECjnEI;IAEI,mBAA+D;EDknEvE;ECpnEI;IAEI,mBAA+D;EDqnEvE;ECvnEI;IAEI,mBAA+D;EDwnEvE;EC1nEI;IAEI,mBAA+D;ED2nEvE;EC7nEI;IAEI,oBAA+D;ED8nEvE;EChoEI;IAEI,0BAA+D;EDioEvE;ECnoEI;IAEI,yBAA+D;EDooEvE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EI,4BAA+D;EDq4EvE;ECv4EI;IAEI,kCAA+D;EDw4EvE;EC14EI;IAEI,iCAA+D;ED24EvE;EC74EI;IAEI,+BAA+D;ED84EvE;ECh5EI;IAEI,iCAA+D;EDi5EvE;ECn5EI;IAEI,+BAA+D;EDo5EvE;ECt5EI;IAEI,0BAA+D;EDu5EvE;ECz5EI;IAEI,gCAA+D;ED05EvE;EC55EI;IAEI,+BAA+D;ED65EvE;EC/5EI;IAEI,6BAA+D;EDg6EvE;ECl6EI;IAEI,+BAA+D;EDm6EvE;ECr6EI;IAEI,6BAA+D;EDs6EvE;ECx6EI;IAEI,2BAA+D;EDy6EvE;EC36EI;IAEI,4BAA+D;ED46EvE;EC96EI;IAEI,6BAA+D;ED+6EvE;AACF;;AE55EI;EDtBE;IAEI,sBAA+D;EDq7EvE;ECv7EI;IAEI,uBAA+D;EDw7EvE;EC17EI;IAEI,sBAA+D;ED27EvE;EC77EI;IAEI,wBAA+D;ED87EvE;ECh8EI;IAEI,0BAA+D;EDi8EvE;ECn8EI;IAEI,gCAA+D;EDo8EvE;ECt8EI;IAEI,yBAA+D;EDu8EvE;ECz8EI;IAEI,yBAA+D;ED08EvE;EC58EI;IAEI,6BAA+D;ED68EvE;EC/8EI;IAEI,8BAA+D;EDg9EvE;ECl9EI;IAEI,wBAA+D;EDm9EvE;ECr9EI;IAEI,+BAA+D;EDs9EvE;ECx9EI;IAEI,yBAA+D;EDy9EvE;EC39EI;IAEI,8BAA+D;ED49EvE;EC99EI;IAEI,iCAA+D;ED+9EvE;ECj+EI;IAEI,sCAA+D;EDk+EvE;ECp+EI;IAEI,yCAA+D;EDq+EvE;ECv+EI;IAEI,uBAA+D;EDw+EvE;EC1+EI;IAEI,uBAA+D;ED2+EvE;EC7+EI;IAEI,yBAA+D;ED8+EvE;ECh/EI;IAEI,yBAA+D;EDi/EvE;ECn/EI;IAEI,0BAA+D;EDo/EvE;ECt/EI;IAEI,4BAA+D;EDu/EvE;ECz/EI;IAEI,kCAA+D;ED0/EvE;EC5/EI;IAEI,sCAA+D;ED6/EvE;EC//EI;IAEI,oCAA+D;EDggFvE;EClgFI;IAEI,kCAA+D;EDmgFvE;ECrgFI;IAEI,yCAA+D;EDsgFvE;ECxgFI;IAEI,wCAA+D;EDygFvE;EC3gFI;IA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EDi5FvE;ECn5FI;IAEI,uBAA+D;EDo5FvE;ECt5FI;IAEI,sBAA+D;EDu5FvE;ECz5FI;IAEI,wBAA+D;ED05FvE;EC55FI;IAEI,0BAA+D;ED65FvE;EC/5FI;IAEI,gCAA+D;EDg6FvE;ECl6FI;IAEI,yBAA+D;EDm6FvE;ECr6FI;IAEI,yBAA+D;EDs6FvE;ECx6FI;IAEI,6BAA+D;EDy6FvE;EC36FI;IAEI,8BAA+D;ED46FvE;EC96FI;IAEI,wBAA+D;ED+6FvE;ECj7FI;IAEI,+BAA+D;EDk7FvE;ECp7FI;IAEI,yBAA+D;EDq7FvE;ECv7FI;IAEI,8BAA+D;EDw7FvE;EC17FI;IAEI,iCAA+D;ED27FvE;EC77FI;IAEI,sCAA+D;ED87FvE;ECh8FI;IAEI,yCAA+D;EDi8FvE;ECn8FI;IAEI,uBAA+D;EDo8FvE;ECt8FI;IAEI,uBAA+D;EDu8FvE;ECz8FI;IAEI,yBAA+D;ED08FvE;EC58FI;IAEI,yBAA+D;ED68FvE;EC/8FI;IAEI,0BAA+D;EDg9FvE;ECl9FI;IAEI,4BAA+D;EDm9FvE;ECr9FI;IAEI,kCAA+D;EDs9FvE;ECx9FI;IAEI,sCAA+D;EDy9FvE;EC39FI;IAEI,oCAA+D;ED49FvE;EC99FI;IAEI,kCAA+D;ED+9FvE;ECj+FI;IAEI,yCAA+D;EDk+FvE;ECp+FI;IAEI,wCAA+D;EDq+FvE;ECv+FI;IAEI,wCAA+D;EDw+FvE;EC1+FI;IAEI,kCAA+D;ED2+FvE;EC7+FI;IAEI,gCAA+D;ED8+FvE;ECh/FI;IAEI,8BAA+D;EDi/FvE;ECn/FI;IAEI,gCAA+D;EDo/FvE;ECt/FI;IAEI,+BAA+D;EDu/FvE;ECz/FI;IAEI,oCAA+D;ED0/FvE;EC5/FI;IAEI,kCAA+D;ED6/FvE;EC//FI;IAEI,gCAA+D;EDggGvE;EClgGI;IAEI,uCAA+D;EDmgGvE;ECrgGI;IAEI,sCAA+D;EDsgGvE;ECxgGI;IAEI,iCAA+D;EDygGvE;EC3gGI;IAEI,2BAA+D;ED4gGvE;EC9gGI;IAEI,iCAA+D;ED+gGvE;ECjhGI;IAEI,+BAA+D;EDkhGvE;ECphGI;IAEI,6BAA+D;EDqhGvE;ECvh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AA+D;EDsxGvE;ECxxGI;IAEI,yBAA+D;EDyxGvE;EC3xGI;IAEI,+BAA+D;ED4xGvE;EC9xGI;IAEI,8BAA+D;ED+xGvE;ECjyGI;IAEI,4BAA+D;EDkyGvE;ECpyGI;IAEI,8BAA+D;EDqyGvE;ECvyGI;IAEI,4BAA+D;EDwyGvE;EC1yGI;IAEI,2BAA+D;ED2yGvE;EC7yGI;IAEI,iCAA+D;ED8yGvE;EChzGI;IAEI,gCAA+D;EDizGvE;ECnzGI;IAEI,8BAA+D;EDozGvE;ECtzGI;IAEI,gCAA+D;EDuzGvE;ECzzGI;IAEI,8BAA+D;ED0zGvE;EC5zGI;IAEI,4BAA+D;ED6zGvE;EC/zGI;IAEI,kCAA+D;EDg0GvE;ECl0GI;IAEI,iCAA+D;EDm0GvE;ECr0GI;IAEI,+BAA+D;EDs0GvE;ECx0GI;IAEI,iCAA+D;EDy0GvE;EC30GI;IAEI,+BAA+D;ED40GvE;EC90GI;IAEI,0BAA+D;ED+0GvE;ECj1GI;IAEI,gCAA+D;EDk1GvE;ECp1GI;IAEI,+BAA+D;EDq1GvE;ECv1GI;IAEI,6BAA+D;EDw1GvE;EC11GI;IAEI,+BAA+D;ED21GvE;EC71GI;IAEI,6BAA+D;ED81GvE;ECh2GI;IAEI,2BAA+D;EDi2GvE;ECn2GI;IAEI,4BAA+D;EDo2GvE;ECt2GI;IAEI,6BAA+D;EDu2GvE;AACF;;AG72GA;EFGM;IAEI,wBAA+D;ED62GvE;EC/2GI;IAEI,0BAA+D;EDg3GvE;ECl3GI;IAEI,gCAA+D;EDm3GvE;ECr3GI;IAEI,yBAA+D;EDs3GvE;ECx3GI;IAEI,yBAA+D;EDy3GvE;EC33GI;IAEI,6BAA+D;ED43GvE;EC93GI;IAEI,8BAA+D;ED+3GvE;ECj4GI;IAEI,wBAA+D;EDk4GvE;ECp4GI;IAEI,+BAA+D;EDq4GvE;AACF","file":"bootstrap-utilities.css","sourcesContent":["/*!\n * Bootstrap Utilities v5.0.0-alpha1 (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-alpha1 (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.d-none {\n display: none !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.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.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: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !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.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: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !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: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: none !important;\n }\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}\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 $max: breakpoint-max(breakpoint-next($name, $breakpoints));\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $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 0ec8423e46..716a1de6e3 100644
--- a/dist/css/bootstrap-utilities.min.css
+++ b/dist/css/bootstrap-utilities.min.css
@@ -2,6 +2,6 @@
* Bootstrap Utilities v5.0.0-alpha1 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * 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-none{display:none!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}.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}.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:#28a745!important}.border-info{border-color:#17a2b8!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}.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:#28a745!important}.text-info{color:#17a2b8!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:#28a745!important}.bg-info{background-color:#17a2b8!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-none{display: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}.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-none{display: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}.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-none{display: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}.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-none{display: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}.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-none{display: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}.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-none{display:none!important}.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}}
/*# 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 3be2f210a5..ad81cecb57 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-alpha1 (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/master/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. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `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(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .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 $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $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-alpha1 (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 $max: breakpoint-max(breakpoint-next($name, $breakpoints));\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $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 3d4389d5a0..65dec27aa7 100644
--- a/dist/css/bootstrap.css
+++ b/dist/css/bootstrap.css
@@ -2,7 +2,7 @@
* Bootstrap v5.0.0-alpha1 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
:root {
--bs-blue: #0d6efd;
@@ -335,6 +335,10 @@ select {
text-transform: none;
}
+[role="button"] {
+ cursor: pointer;
+}
+
select {
word-wrap: normal;
}
@@ -1882,6 +1886,11 @@ progress {
border-color: #484e53;
}
+.table-responsive {
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+}
+
@media (max-width: 575.98px) {
.table-responsive-sm {
overflow-x: auto;
@@ -1917,11 +1926,6 @@ progress {
}
}
-.table-responsive {
- overflow-x: auto;
- -webkit-overflow-scrolling: touch;
-}
-
.form-label {
margin-bottom: 0.5rem;
}
@@ -2230,6 +2234,12 @@ progress {
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;
@@ -2801,7 +2811,7 @@ progress {
color: #212529;
}
-.btn:focus, .btn.focus {
+.btn-check:focus + .btn, .btn:focus {
outline: 0;
box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}
@@ -2824,21 +2834,23 @@ fieldset:disabled .btn {
border-color: #0257d5;
}
-.btn-primary:focus, .btn-primary.focus {
+.btn-check:focus + .btn-primary, .btn-primary:focus {
color: #fff;
background-color: #025ce2;
border-color: #0257d5;
box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);
}
-.btn-primary:active, .btn-primary.active,
+.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: #0257d5;
border-color: #0252c9;
}
-.btn-primary:active:focus, .btn-primary.active: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.2rem rgba(49, 132, 253, 0.5);
}
@@ -2861,21 +2873,23 @@ fieldset:disabled .btn {
border-color: #545b62;
}
-.btn-secondary:focus, .btn-secondary.focus {
+.btn-check:focus + .btn-secondary, .btn-secondary:focus {
color: #fff;
background-color: #5a6268;
border-color: #545b62;
box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
}
-.btn-secondary:active, .btn-secondary.active,
+.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: #545b62;
border-color: #4e555b;
}
-.btn-secondary:active:focus, .btn-secondary.active: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.2rem rgba(130, 138, 145, 0.5);
}
@@ -2898,21 +2912,23 @@ fieldset:disabled .btn {
border-color: #1e7e34;
}
-.btn-success:focus, .btn-success.focus {
+.btn-check:focus + .btn-success, .btn-success:focus {
color: #fff;
background-color: #218838;
border-color: #1e7e34;
box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
}
-.btn-success:active, .btn-success.active,
+.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: #1e7e34;
border-color: #1c7430;
}
-.btn-success:active:focus, .btn-success.active: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.2rem rgba(72, 180, 97, 0.5);
}
@@ -2935,21 +2951,23 @@ fieldset:disabled .btn {
border-color: #117a8b;
}
-.btn-info:focus, .btn-info.focus {
+.btn-check:focus + .btn-info, .btn-info:focus {
color: #fff;
background-color: #138496;
border-color: #117a8b;
box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
}
-.btn-info:active, .btn-info.active,
+.btn-check:checked + .btn-info,
+.btn-check:active + .btn-info, .btn-info:active, .btn-info.active,
.show > .btn-info.dropdown-toggle {
color: #fff;
background-color: #117a8b;
border-color: #10707f;
}
-.btn-info:active:focus, .btn-info.active: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.2rem rgba(58, 176, 195, 0.5);
}
@@ -2972,21 +2990,23 @@ fieldset:disabled .btn {
border-color: #d39e00;
}
-.btn-warning:focus, .btn-warning.focus {
+.btn-check:focus + .btn-warning, .btn-warning:focus {
color: #212529;
background-color: #e0a800;
border-color: #d39e00;
box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
}
-.btn-warning:active, .btn-warning.active,
+.btn-check:checked + .btn-warning,
+.btn-check:active + .btn-warning, .btn-warning:active, .btn-warning.active,
.show > .btn-warning.dropdown-toggle {
color: #212529;
background-color: #d39e00;
border-color: #c69500;
}
-.btn-warning:active:focus, .btn-warning.active: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.2rem rgba(222, 170, 12, 0.5);
}
@@ -3009,21 +3029,23 @@ fieldset:disabled .btn {
border-color: #bd2130;
}
-.btn-danger:focus, .btn-danger.focus {
+.btn-check:focus + .btn-danger, .btn-danger:focus {
color: #fff;
background-color: #c82333;
border-color: #bd2130;
box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
}
-.btn-danger:active, .btn-danger.active,
+.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: #bd2130;
border-color: #b21f2d;
}
-.btn-danger:active:focus, .btn-danger.active: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.2rem rgba(225, 83, 97, 0.5);
}
@@ -3046,21 +3068,23 @@ fieldset:disabled .btn {
border-color: #dae0e5;
}
-.btn-light:focus, .btn-light.focus {
+.btn-check:focus + .btn-light, .btn-light:focus {
color: #212529;
background-color: #e2e6ea;
border-color: #dae0e5;
box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);
}
-.btn-light:active, .btn-light.active,
+.btn-check:checked + .btn-light,
+.btn-check:active + .btn-light, .btn-light:active, .btn-light.active,
.show > .btn-light.dropdown-toggle {
color: #212529;
background-color: #dae0e5;
border-color: #d3d9df;
}
-.btn-light:active:focus, .btn-light.active: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.2rem rgba(216, 217, 219, 0.5);
}
@@ -3083,21 +3107,23 @@ fieldset:disabled .btn {
border-color: #1d2124;
}
-.btn-dark:focus, .btn-dark.focus {
+.btn-check:focus + .btn-dark, .btn-dark:focus {
color: #fff;
background-color: #23272b;
border-color: #1d2124;
box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);
}
-.btn-dark:active, .btn-dark.active,
+.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: #1d2124;
border-color: #171a1d;
}
-.btn-dark:active:focus, .btn-dark.active: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.2rem rgba(82, 88, 93, 0.5);
}
@@ -3119,17 +3145,19 @@ fieldset:disabled .btn {
border-color: #0d6efd;
}
-.btn-outline-primary:focus, .btn-outline-primary.focus {
+.btn-check:focus + .btn-outline-primary, .btn-outline-primary:focus {
box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);
}
-.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-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.2rem rgba(13, 110, 253, 0.5);
}
@@ -3149,17 +3177,19 @@ fieldset:disabled .btn {
border-color: #6c757d;
}
-.btn-outline-secondary:focus, .btn-outline-secondary.focus {
+.btn-check:focus + .btn-outline-secondary, .btn-outline-secondary:focus {
box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}
-.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-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.2rem rgba(108, 117, 125, 0.5);
}
@@ -3179,17 +3209,19 @@ fieldset:disabled .btn {
border-color: #28a745;
}
-.btn-outline-success:focus, .btn-outline-success.focus {
+.btn-check:focus + .btn-outline-success, .btn-outline-success:focus {
box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}
-.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: #28a745;
border-color: #28a745;
}
-.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.2rem rgba(40, 167, 69, 0.5);
}
@@ -3209,17 +3241,19 @@ fieldset:disabled .btn {
border-color: #17a2b8;
}
-.btn-outline-info:focus, .btn-outline-info.focus {
+.btn-check:focus + .btn-outline-info, .btn-outline-info:focus {
box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}
-.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: #fff;
background-color: #17a2b8;
border-color: #17a2b8;
}
-.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.2rem rgba(23, 162, 184, 0.5);
}
@@ -3239,17 +3273,19 @@ fieldset:disabled .btn {
border-color: #ffc107;
}
-.btn-outline-warning:focus, .btn-outline-warning.focus {
+.btn-check:focus + .btn-outline-warning, .btn-outline-warning:focus {
box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}
-.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: #212529;
background-color: #ffc107;
border-color: #ffc107;
}
-.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.2rem rgba(255, 193, 7, 0.5);
}
@@ -3269,17 +3305,19 @@ fieldset:disabled .btn {
border-color: #dc3545;
}
-.btn-outline-danger:focus, .btn-outline-danger.focus {
+.btn-check:focus + .btn-outline-danger, .btn-outline-danger:focus {
box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}
-.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-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.2rem rgba(220, 53, 69, 0.5);
}
@@ -3299,17 +3337,19 @@ fieldset:disabled .btn {
border-color: #f8f9fa;
}
-.btn-outline-light:focus, .btn-outline-light.focus {
+.btn-check:focus + .btn-outline-light, .btn-outline-light:focus {
box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}
-.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: #212529;
background-color: #f8f9fa;
border-color: #f8f9fa;
}
-.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.2rem rgba(248, 249, 250, 0.5);
}
@@ -3329,17 +3369,19 @@ fieldset:disabled .btn {
border-color: #343a40;
}
-.btn-outline-dark:focus, .btn-outline-dark.focus {
+.btn-check:focus + .btn-outline-dark, .btn-outline-dark:focus {
box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}
-.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: #343a40;
border-color: #343a40;
}
-.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.2rem rgba(52, 58, 64, 0.5);
}
@@ -3684,7 +3726,14 @@ fieldset:disabled .btn {
flex: 1 1 auto;
}
-.btn-group > .btn:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,
+.btn-group > .btn-check:checked + .btn,
+.btn-group > .btn-check:focus + .btn,
+.btn-group > .btn:hover,
+.btn-group > .btn:focus,
+.btn-group > .btn:active,
+.btn-group > .btn.active,
+.btn-group-vertical > .btn-check:checked + .btn,
+.btn-group-vertical > .btn-check:focus + .btn,
.btn-group-vertical > .btn:hover,
.btn-group-vertical > .btn:focus,
.btn-group-vertical > .btn:active,
@@ -3713,7 +3762,8 @@ fieldset:disabled .btn {
border-bottom-right-radius: 0;
}
-.btn-group > .btn:not(:first-child),
+.btn-group > .btn:nth-child(n + 3),
+.btn-group > :not(.btn-check) + .btn,
.btn-group > .btn-group:not(:first-child) > .btn {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
@@ -3772,15 +3822,6 @@ fieldset:disabled .btn {
border-top-right-radius: 0;
}
-.btn-group-toggle > .btn input[type="radio"],
-.btn-group-toggle > .btn input[type="checkbox"],
-.btn-group-toggle > .btn-group > .btn input[type="radio"],
-.btn-group-toggle > .btn-group > .btn input[type="checkbox"] {
- position: absolute;
- clip: rect(0, 0, 0, 0);
- pointer-events: none;
-}
-
.nav {
display: flex;
flex-wrap: wrap;
@@ -5301,6 +5342,31 @@ button.close {
}
}
+.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;
@@ -5416,31 +5482,6 @@ button.close {
}
}
-.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;
-}
-
.tooltip {
position: absolute;
z-index: 1070;
diff --git a/dist/css/bootstrap.css.map b/dist/css/bootstrap.css.map
index 78ae9daa5d..dcb84e223d 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/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/_functions.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/_embed.scss","../../scss/helpers/_position.scss","../../scss/helpers/_screenreaders.scss","../../scss/mixins/_screen-reader.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,kBAAoB;EAApB,oBAAoB;EAApB,oBAAoB;EAApB,kBAAoB;EAApB,iBAAoB;EAApB,oBAAoB;EAApB,oBAAoB;EAApB,mBAAoB;EAApB,kBAAoB;EAApB,kBAAoB;EAApB,gBAAoB;EAApB,kBAAoB;EAApB,uBAAoB;EAIpB,qBAAoB;EAApB,uBAAoB;EAApB,qBAAoB;EAApB,kBAAoB;EAApB,qBAAoB;EAApB,oBAAoB;EAApB,mBAAoB;EAApB,kBAAoB;EAKtB,kMAAqB;EACrB,yGAAoB;EACpB,yFAAc;ADiBhB;;AEhBA;;;EAGE,sBAAsB;AFmBxB;;AEEA;EACE,SAAS;EACT,sCC2VqD;ECzIjD,eAvE+B;EFzInC,gBCqW+B;EDpW/B,gBC0W+B;EDzW/B,cC7BgB;ED+BhB,sBCxCa;EDyCb,8BAA8B;EAC9B,6CChCa;AHgCf;;AAEA;EEYE,qBAAqB;AFVvB;;AEoBA;EACE,cAAsB;EACtB,cC4XmC;ED3XnC,8BAA8B;EAC9B,SAAS;EACT,aC2X+B;AH5YjC;;AEoBA;EACE,WC4P+B;AH7QjC;;AE2BA;EACE,aAAa;EACb,qBCmUuC;EDhUvC,gBCmU+B;EDlU/B,gBCmU+B;AH7VjC;;AE8BA;EEyJQ,iCAf6B;AJpKrC;;AIiBI;EFSJ;IEgKQ,iBAlF6B;EJnGnC;AACF;;AEyBA;EEoJQ,iCAf6B;AJ1JrC;;AIOI;EFcJ;IE2JQ,eAlF6B;EJzFnC;AACF;;AEoBA;EE+IQ,+BAf6B;AJhJrC;;AIHI;EFmBJ;IEsJQ,kBAlF6B;EJ/EnC;AACF;;AEeA;EE0IQ,iCAf6B;AJtIrC;;AIbI;EFwBJ;IEiJQ,iBAlF6B;EJrEnC;AACF;;AEUA;EEiIM,kBAvE+B;AJhErC;;AEWA;EE4HM,eAvE+B;AJ5DrC;;AEkBA;EACE,aAAa;EACb,mBCuI8B;AHtJhC;;AE0BA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,sCAA8B;EAA9B,8BAA8B;AFvBhC;;AE6BA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;AF1BtB;;AEgCA;;EAEE,kBAAkB;AF7BpB;;AEgCA;;;EAGE,aAAa;EACb,mBAAmB;AF7BrB;;AEgCA;;;;EAIE,gBAAgB;AF7BlB;;AEgCA;EACE,gBCkN+B;AH/OjC;;AEkCA;EACE,oBAAoB;EACpB,cAAc;AF/BhB;;AEqCA;EACE,gBAAgB;AFlClB;;AE0CA;;EAEE,mBC2LkC;AHlOpC;;AE+CA;EE4BM,kBAvE+B;AJArC;;AEkDA;EACE,cCwOgC;EDvOhC,yBC+OmC;AH9RrC;;AEwDA;;EAEE,kBAAkB;EEQd,iBAvE+B;EFiEnC,cAAc;EACd,wBAAwB;AFrD1B;;AEwDA;EAAM,cAAc;AFpDpB;;AEqDA;EAAM,UAAU;AFjDhB;;AEsDA;EACE,cC/Ne;EDgOf,0BCKiD;AHxDnD;;AEiDA;EAKI,cCG8D;AHrDlE;;AE4DA;EAGI,cAAc;EACd,qBAAqB;AF3DzB;;AEkEA;;;;EAIE,qCCwGoD;EC1IhD,cAvE+B;AJ2CrC;;AEwEA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,cAAc;EEhDV,kBAvE+B;EF0HnC,6BAA6B;AFtE/B;;AE+DA;EE5CM,kBAvE+B;EF+HjC,cAAc;EACd,kBAAkB;AFtEtB;;AE0EA;EE7DM,kBAvE+B;EFsInC,cCtRe;EDuRf,qBAAqB;AFvEvB;;AE0EE;EACE,cAAc;AFvElB;;AE2EA;EACE,sBCk6BuC;EC3+BnC,kBAvE+B;EFkJnC,WC/Ta;EDgUb,yBCvTgB;EEEd,qBFgU+B;AHlFnC;;AEmEA;EAQI,UAAU;EEhFR,cAvE+B;EFyJjC,gBCoE6B;AH3IjC;;AEgFA;EACE,gBAAgB;AF7ElB;;AEmFA;;EAEE,sBAAsB;AFhFxB;;AEwFA;EACE,oBAAoB;EACpB,yBAAyB;AFrF3B;;AEwFA;EACE,mBCkHiC;EDjHjC,sBCiHiC;EDhHjC,cClWgB;EDmWhB,gBAAgB;AFrFlB;;AE2FA;EACE,mBAAmB;EACnB,gCAAgC;AFxFlC;;AE2FA;;;;;;EAME,qBAAqB;EACrB,mBAAmB;EACnB,eAAe;AFxFjB;;AEgGA;EACE,qBAAqB;AF7FvB;;AEmGA;EAEE,gBAAgB;AFjGlB;;AEwGA;EACE,mBAAmB;EACnB,0CAA0C;AFrG5C;;AE0GA;;;;;EAKE,SAAS;EACT,oBAAoB;EE7KhB,kBAvE+B;EFsPnC,oBAAoB;AFvGtB;;AE4GA;;EAEE,iBAAiB;AFzGnB;;AE8GA;;EAEE,oBAAoB;AF3GtB;;AEiHA;EACE,iBAAiB;AF9GnB;;AAEA;EEmHE,aAAa;AFjHf;;AEyHA;;;;EAIE,0BAA0B;AFtH5B;;AEkHA;;;;EAQM,eAAe;AFnHrB;;AE0HA;EACE,UAAU;EACV,kBAAkB;AFvHpB;;AE4HA;EACE,gBAAgB;AFzHlB;;AEmIA;EACE,YAAY;EACZ,UAAU;EACV,SAAS;EACT,SAAS;AFhIX;;AEyIA;EACE,WAAW;EACX,WAAW;EACX,UAAU;EACV,qBCrDiC;EC5M3B,iCAf6B;EFmRnC,oBAAoB;EACpB,mBAAmB;AFvIrB;;AIhSI;EF+ZJ;IEtPQ,iBAlF6B;EJ8MnC;AACF;;AEyHA;EAWI,WAAW;AFhIf;;AEuIA;;;;;;;EAOE,UAAU;AFpIZ;;AEuIA;EACE,YAAY;AFpId;;AAEA;EE4IE,oBAAoB;EACpB,6BAA6B;AF1I/B;;AE+IA;EACE,wBAAwB;AF5I1B;;AEiJA;EACE,UAAU;AF9IZ;;AEoJA;EACE,aAAa;EACb,0BAA0B;AFjJ5B;;AEsJA;EACE,qBAAqB;AFnJvB;;AEwJA;EACE,SAAS;AFrJX;;AE4JA;EACE,kBAAkB;EAClB,eAAe;AFzJjB;;AEiKA;EACE,wBAAwB;AF9J1B;;AAEA;EEqKE,wBAAwB;AFnK1B;;AMhaA;EF+NM,kBAvE+B;EEtJnC,gBHyZ+B;AHUjC;;AM9ZE;EF4NM,iCAf6B;EE3MjC,gBH6YqB;EG5YrB,gBH+X6B;AHkCjC;;AI1WI;EE1DF;IFmOM,eAlF6B;EJwRnC;AACF;;AM1aE;EF4NM,iCAf6B;EE3MjC,gBH6YqB;EG5YrB,gBH+X6B;AH8CjC;;AItXI;EE1DF;IFmOM,iBAlF6B;EJoSnC;AACF;;AMtbE;EF4NM,iCAf6B;EE3MjC,gBH6YqB;EG5YrB,gBH+X6B;AH0DjC;;AIlYI;EE1DF;IFmOM,eAlF6B;EJgTnC;AACF;;AMlcE;EF4NM,iCAf6B;EE3MjC,gBH6YqB;EG5YrB,gBH+X6B;AHsEjC;;AI9YI;EE1DF;IFmOM,iBAlF6B;EJ4TnC;AACF;;AM9cE;EF4NM,iCAf6B;EE3MjC,gBH6YqB;EG5YrB,gBH+X6B;AHkFjC;;AI1ZI;EE1DF;IFmOM,eAlF6B;EJwUnC;AACF;;AM1dE;EF4NM,iCAf6B;EE3MjC,gBH6YqB;EG5YrB,gBH+X6B;AH8FjC;;AItaI;EE1DF;IFmOM,iBAlF6B;EJoVnC;AACF;;AMhdA;ECrDE,eAAe;EACf,gBAAgB;APygBlB;;AMhdA;EC1DE,eAAe;EACf,gBAAgB;AP8gBlB;;AMldA;EACE,qBAAqB;ANqdvB;;AMtdA;EAII,oBHgZ+B;AHsEnC;;AM5cA;EF4KM,kBAvE+B;EEnGnC,yBAAyB;AN+c3B;;AM3cA;EACE,mBHsJW;ECeP,kBAvE+B;AJiXrC;;AMhdA;EAKI,gBAAgB;AN+cpB;;AM3cA;EACE,iBH6IW;EG5IX,mBH4IW;ECeP,kBAvE+B;EElFnC,cHrFgB;AHmiBlB;;AMldA;EAOI,qBAAqB;AN+czB;;AQ7iBA;ECIE,eAAe;EAGf,YAAY;AT2iBd;;AQ5iBA;EACE,gBLooCwC;EKnoCxC,sBLRa;EKSb,yBLNgB;EEQd,sBF+TgC;EMtUlC,eAAe;EAGf,YAAY;ATojBd;;AQtiBA;EAEE,qBAAqB;ARwiBvB;;AQriBA;EACE,qBAA0B;EAC1B,cAAc;ARwiBhB;;AQriBA;EJqNM,kBAvE+B;EI5InC,cL3BgB;AHmkBlB;;AU1kBE;;;;;;;ECHA,WAAW;EACX,mBRmUwB;EQlUxB,kBRkUwB;EQjUxB,kBAAkB;EAClB,iBAAiB;AXulBnB;;AY/hBI;EF5CE;IACE,gBP4RG;EHmTT;AACF;;AYriBI;EF5CE;IACE,gBP6RG;EHwTT;AACF;;AY3iBI;EF5CE;IACE,gBP8RG;EH6TT;AACF;;AYjjBI;EF5CE;IACE,iBP+RI;EHkUV;AACF;;AYvjBI;EF5CE;IACE,iBPgSK;EHuUX;AACF;;AavnBE;ECAA,qBAAc;EACd,gBAAc;EACd,aAAa;EACb,cAAc;EACd,eAAe;EACf,yCAAyC;EACzC,2CAA2C;EAC3C,0CAA0C;Ad2nB5C;;AaloBE;ECgBA,c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C;;AiBn3DA;EACE,gCCqJ8D;EDpJ9D,mCCoJ8D;EdsE1D,mBAvE+B;AJouDrC;;AmBp5DA;EACE,mBhB+kB4C;ECzVxC,kBAvE+B;Ee3KnC,chBIgB;AHi5DlB;;AoB15DA;EACE,cAAc;EACd,WAAW;EACX,uCF8K8D;EE7K9D,yBjB2gBkC;ECxR9B,eAvE+B;EgBzKnC,gBjBqY+B;EiBpY/B,gBjB0Y+B;EiBzY/B,cjBCgB;EiBAhB,sBjBPa;EiBQb,4BAA4B;EAC5B,yBjBLgB;EiBMhB,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;EfCd,sBF+TgC;EkBjU9B,wElB+nB4F;AHgyClG;;AqB35DM;EDhBN;ICiBQ,gBAAgB;ErB+5DtB;AACF;;AoBj7DA;EAuBI,cjBbc;EiBcd,sBjBrBW;EiBsBX,qBjBgmBsE;EiB/lBtE,UAAU;EAKR,iDjBFW;AH45DjB;;AoBz7DA;EAqCI,cjB5Bc;EiB8Bd,UAAU;ApBu5Dd;;AoB97DA;EAqCI,cjB5Bc;EiB8Bd,UAAU;ApBu5Dd;;AoB97DA;EAqCI,cjB5Bc;EiB8Bd,UAAU;ApBu5Dd;;AoB97DA;EAqCI,cjB5Bc;EiB8Bd,UAAU;ApBu5Dd;;AoB97DA;EAiDI,yBjB5Cc;EiB+Cd,UAAU;ApB+4Dd;;AoBt4DA;EACE,cAAc;EACd,WAAW;EACX,mBAA2B;EAC3B,gBAAgB;EAChB,gBjBgV+B;EiB/U/B,cjBvDgB;EiBwDhB,6BAA6B;EAC7B,yBAAyB;EACzB,mBAAmC;ApBy4DrC;;AoBl5DA;EAaI,gBAAgB;EAChB,eAAe;ApBy4DnB;;AoB93DA;EACE,sCF0F8D;EEzF9D,uBjBkciC;ECnS7B,mBAvE+B;EClKjC,qBFgU+B;AH6oDnC;;AoB93DA;EACE,oCFmF8D;EElF9D,oBjB+bgC;ECvS5B,kBAvE+B;EClKjC,qBFiU+B;AHmpDnC;;AoB93DA;EACE,eAAe;EACf,iBjBwamC;AHy9CrC;;AoB93DA;Ef3FI,sBF+TgC;AH8pDpC;;AoB93DA;Ef/FI,sBF+TgC;AHkqDpC;;AsB9+DA;EACE,cAAc;EACd,WAAW;EACX,mCJ6K8D;EI5K9D,0CnB0gBkC;ECxR9B,eAvE+B;EkBxKnC,gBnBoY+B;EmBnY/B,gBnByY+B;EmBxY/B,cnBAgB;EmBChB,sBAAsB;EACtB,sBnBTa;EmBUb,iPJgEgF;EI/DhF,4BAA4B;EAC5B,yCnB4rBqE;EmB3rBrE,0BnB4rB2C;EmB3rB3C,yBnBVgB;EEOd,sBF+TgC;EmBzTlC,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;AtB++DlB;;AsBlgEA;EAsBI,qBnBkmBsE;EmBjmBtE,UAAU;EAKR,iDnBAW;AH4+DjB;;AsBxgEA;EAqCM,cnB5BY;EmB6BZ,sBnBpCS;AH2gEf;;AsB7gEA;EA4CI,YAAY;EACZ,sBnBiegC;EmBhehC,sBAAsB;AtBq+D1B;;AsBnhEA;EAkDI,cnB1Cc;EmB2Cd,yBnB/Cc;AHohElB;;AsBxhEA;EAyDI,kBAAkB;EAClB,0BnBjDc;AHohElB;;AsB/9DA;EACE,kCJiH8D;EIhH9D,oBnBwdkC;EmBvdlC,uBnBudkC;EmBtdlC,oBnBudiC;ECnS7B,mBAvE+B;AJs3DrC;;AsB/9DA;EACE,gCJyG8D;EIxG9D,mBnBodiC;EmBndjC,sBnBmdiC;EmBldjC,kBnBmdgC;ECvS5B,kBAvE+B;AJ83DrC;;AuB9iEA;EACE,cAAc;EACd,kBpB6oB2E;EoB5oB3E,oBpB6oBsE;EoB5oBtE,uBpB6oB+C;AHo6CjD;;AuBrjEA;EAOI,WAAW;EACX,oBAA0C;AvBkjE9C;;AuB9iEA;EACE,apBioB8C;EoBhoB9C,cpBgoB8C;EoB/nB9C,mBAA6D;EAC7D,mBAAmB;EACnB,sBpBda;EoBeb,4BAA4B;EAC5B,2BAA2B;EAC3B,wBAAwB;EACxB,qCpBooBoE;EoBnoBpE,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;EAChB,iCAAmB;EAAnB,mBAAmB;EFXf,mJlBwoBuK;AHq7C7K;;AqBzjEM;EEJN;IFKQ,gBAAgB;ErB6jEtB;AACF;;AuBnkEA;ElBEI,qBF4oB2C;AHy7C/C;;AuBvkEA;EAoBI,kBpB2nByC;AH47C7C;;AuB3kEA;EAwBI,+BpBknBqD;EoBlnBrD,uBpBknBqD;AHq8CzD;;AuB/kEA;EA4BI,qBpBilBsE;EoBhlBtE,UAAU;EACV,iDpBba;AHokEjB;;AuBrlEA;EAkCI,yBpBjBa;EoBkBb,qBpBlBa;AHykEjB;;AuB1lEA;EAyCQ,+OLwB0E;AlB6hElF;;AuB9lEA;EAiDQ,uJLgB0E;AlBiiElF;;AuBlmEA;EAuDI,yBpBtCa;EoBuCb,qBpBvCa;EoB4CX,yOLI4E;AlBuiElF;;AuBxmEA;EAkEI,oBAAoB;EACpB,oBAAY;EAAZ,YAAY;EACZ,WAAW;AvB0iEf;;AuB9mEA;EA4EM,WAAW;AvBsiEjB;;AuBxhEA;EACE,mBpBqkByD;AHs9C3D;;AuB5hEA;EAII,UpBikBiC;EoBhkBjC,mBAA2C;EAC3C,wKL/B8E;EKgC9E,gCAAgC;ElB/FhC,kBF6pBiC;AH+9CrC;;AuBpiEA;EAWM,0JLpC4E;AlBikElF;;AuBxiEA;EAeM,iCpBgkBwC;EoB3jBtC,uJL7C0E;AlBskElF;;AuBnhEA;EACE,qBAAqB;EACrB,kBpBqjB0C;AHi+C5C;;AwB5pEA;EACE,kDAAsB;EACtB,kBAAkB;AxB+pEpB;;AwB5pEA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,kCAAkC;EAClC,SAAS;EACT,UAAU;AxB+pEZ;;AwBrqEA;EASI,qBrB+mBsE;EqB9mBtE,iDrBkBa;AH8oEjB;;AwB1qEA;;EAiBI,yBrBbc;AH2qElB;;AwBzpEA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,OAAO;EACP,UAAU;EACV,aAAa;EACb,kCAAkC;EAClC,qBrBxBgB;EEOd,sBF+TgC;AH+2DpC;;AwBxpEA;EACE,cAAc;EACd,YAAY;EACZ,yBrBwekC;EqBvelC,gBAAgB;EAEhB,gBrBkW+B;EqBjW/B,gBrBuW+B;EqBtW/B,crBlCgB;EqBmChB,uBAAuB;EACvB,mBAAmB;EACnB,sBrB5Ca;EqB6Cb,qBAAqB;EACrB,mBAAmB;EACnB,iBrBwR+B;EE9R7B,+BmBOiC;EnBNjC,kCmBMiC;AxB2pErC;;AwBxpEA;EACE,cAAc;EACd,cAAc;EACd,yBrBsdkC;EqBrdlC,iBrBgR+B;EqB/Q/B,gBrBuV+B;EqBtV/B,crBlDgB;EsBXhB,yBtBMgB;EqByDhB,qBAAqB;EACrB,mBAAmB;EACnB,iBrB0Q+B;EE5S7B,gCmBmCkC;EnBlClC,mCmBkCkC;AxB4pEtC;;AwBzpEA;EACE,iDAAsB;EpBkLlB,mBAvE+B;AJkjErC;;AwB9pEA;;EAMI,uBrBgd+B;AH6sDnC;;AwBzpEA;EACE,+CAAsB;EpBwKlB,kBAvE+B;AJ4jErC;;AwB9pEA;;EAMI,oBrB0c8B;AHmtDlC;;A0B/uEA;EACE,WAAW;EACX,cR0K2B;EQzK3B,UAAU;EACV,6BAA6B;EAC7B,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A1BkvElB;;A0BvvEA;EAQI,aAAa;A1BmvEjB;;A0B3vEA;EAY8B,iEvBeb;AHouEjB;;A0B/vEA;EAa8B,iEvBcb;AHwuEjB;;A0BnwEA;EAc8B,iEvBab;AH4uEjB;;A0BvwEA;EAkBI,SAAS;A1ByvEb;;A0B3wEA;EAsBI,WvBstB2C;EuBrtB3C,YvBqtB2C;EuBptB3C,oBAAqE;ED3BvE,yBtB8Be;EuBDb,SvBqtBwC;EEnuBxC,mBFouB2C;EkBtuBzC,oHlB4uBkI;EkB5uBlI,4GlB4uBkI;EuBxtBpI,wBAAgB;EAAhB,gBAAgB;A1BwvEpB;;AqBxwEM;EKdN;ILeQ,wBAAgB;IAAhB,gBAAgB;ErB4wEtB;AACF;;A0B5xEA;EDHE,yBtBuvB2E;AH4iD7E;;A0BhyEA;EAsCI,WvB+rBkC;EuB9rBlC,cvB+rBmC;EuB9rBnC,kBAAkB;EAClB,evB8rBqC;EuB7rBrC,yBvBtCc;EuBuCd,yBAAyB;ErB/BzB,mBF6tBkC;AHikDtC;;A0B1yEA;EAiDI,WvB2rB2C;EuB1rB3C,YvB0rB2C;EsB/uB7C,yBtB8Be;EuByBb,SvB2rBwC;EEnuBxC,mBFouB2C;EkBtuBzC,iHlB4uBkI;EkB5uBlI,4GlB4uBkI;EuB9rBpI,qBAAgB;EAAhB,gBAAgB;A1B4vEpB;;AqBtyEM;EKdN;ILeQ,qBAAgB;IAAhB,gBAAgB;ErB0yEtB;AACF;;A0B1zEA;EDHE,yBtBuvB2E;AH0kD7E;;A0B9zEA;EAgEI,WvBqqBkC;EuBpqBlC,cvBqqBmC;EuBpqBnC,kBAAkB;EAClB,evBoqBqC;EuBnqBrC,yBvBhEc;EuBiEd,yBAAyB;ErBzDzB,mBF6tBkC;AH+lDtC;;A0Bx0EA;EA2EI,WvBiqB2C;EuBhqB3C,YvBgqB2C;EuB/pB3C,aAAa;EACb,oBvBociC;EuBncjC,mBvBmciC;EsBrhBnC,yBtB8Be;EuBsDb,SvB8pBwC;EEnuBxC,mBFouB2C;EkBtuBzC,gHlB4uBkI;EkB5uBlI,4GlB4uBkI;EuBjqBpI,gBAAgB;A1BgwEpB;;AqBv0EM;EKdN;ILeQ,oBAAgB;IAAhB,gBAAgB;ErB20EtB;AACF;;A0B31EA;EDHE,yBtBuvB2E;AH2mD7E;;A0B/1EA;EA6FI,WvBwoBkC;EuBvoBlC,cvBwoBmC;EuBvoBnC,kBAAkB;EAClB,evBuoBqC;EuBtoBrC,6BAA6B;EAC7B,yBAAyB;EACzB,oBAA0C;A1BswE9C;;A0Bz2EA;EAwGI,yBvBpGc;EEQd,mBF6tBkC;AHqoDtC;;A0B92EA;EA6GI,kBAAkB;EAClB,yBvB1Gc;EEQd,mBF6tBkC;AH2oDtC;;A0Bp3EA;EAmHI,oBAAoB;A1BqwExB;;A0Bx3EA;EAsHM,yBvBhHY;AHs3ElB;;A0B53EA;EA0HM,yBvBpHY;AH03ElB;;A0Bh4EA;EA8HM,yBvBxHY;AH83ElB;;A2Bt4EA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,oBAAoB;EACpB,WAAW;A3By4Eb;;A2B94EA;;;EAUI,kBAAkB;EAClB,cAAc;EACd,SAAS;EACT,YAAY;A3B04EhB;;A2Bv5EA;;;EAoBI,UAAU;A3By4Ed;;A2B75EA;EA0BM,UAAU;A3Bu4EhB;;A2Bj6EA;EtB8BI,0BsBAgC;EtBChC,6BsBDgC;A3Bw4EpC;;A2Bt6EA;EtB4CI,yBsBV+B;EtBW/B,4BsBX+B;A3By4EnC;;A2B36EA;EA0CI,kBAAkB;EAClB,UAAU;A3Bq4Ed;;A2Bh7EA;EA8CM,UAAU;A3Bs4EhB;;A2B33EA;EACE,aAAa;EACb,mBAAmB;EACnB,yBxBmdkC;ECxR9B,eAvE+B;EuBlHnC,gBxB8U+B;EwB7U/B,gBxBmV+B;EwBlV/B,cxBtDgB;EwBuDhB,kBAAkB;EAClB,mBAAmB;EACnB,yBxB9DgB;EwB+DhB,yBxB7DgB;EEOd,sBF+TgC;AHsnEpC;;A2Br3EA;EACE,oCTkG8D;AlBsxEhE;;A2Br3EA;EACE,gCT8F8D;AlB0xEhE;;A2Br3EA;;;;EAIE,oBxBocgC;ECvS5B,kBAvE+B;EClKjC,qBFiU+B;AHqoEnC;;A2Br3EA;EACE,sCTiF8D;AlBuyEhE;;A2Br3EA;EACE,kCT6E8D;AlB2yEhE;;A2Br3EA;;;;EAIE,uBxB+aiC;ECnS7B,mBAvE+B;EClKjC,qBFgU+B;AHupEnC;;A2Br3EA;;EAEE,sBAAsE;A3Bw3ExE;;A2B72EA;;EtB/FI,0BsBkG8B;EtBjG9B,6BsBiG8B;A3Bg3ElC;;A2Bn3EA;EAOI,iBxBsM6B;EE9R7B,yBsByF6B;EtBxF7B,4BsBwF6B;A3Bi3EjC;;A4B1+EE;EACE,aAAa;EACb,WAAW;EACX,mBzBikB0C;ECzVxC,kBAvE+B;EwB9JjC,czBkBa;AH09EjB;;A4Bz+EE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBzBs8B2C;EyBr8B3C,iBAAiB;ExB2Nf,mBAvE+B;EwBjJjC,WzB5BW;EyB6BX,wCzBIa;EEtBb,sBF+TgC;AH+rEpC;;A4B5gFI;;;;EAuCE,cAAc;A5B4+EpB;;A4BnhFI;EA6CE,qBzBTW;EyBYT,oCViIwD;EUhIxD,4PV4B0E;EU3B1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gEV6HwD;AlB22EhE;;A4B5hFI;EAwDI,qBzBpBS;EyBqBT,gDzBrBS;AH6/EjB;;A4BjiFI;EAkEI,oCV+GwD;EU9GxD,kFV8GwD;AlBq3EhE;;A4BtiFI;EA0EE,qBzBtCW;EyByCT,uCVoGwD;EUnGxD,6dVD0E;EUE1E,+DzBkoBwG;EyBjoBxG,2EViGwD;AlB63EhE;;A4B9iFI;EAoFI,qBzBhDS;EyBiDT,gDzBjDS;AH+gFjB;;A4BnjFI;EA4FE,qBzBxDW;AHmhFjB;;A4BvjFI;EA+FI,yBzB3DS;AHuhFjB;;A4B3jFI;EAmGI,gDzB/DS;AH2hFjB;;A4B/jFI;EAuGI,czBnES;AH+hFjB;;A4Bx9EE;EAEI,iBAAiB;A5B09EvB;;A4BvkFI;EAqHI,qBzBjFS;AHuiFjB;;A4B3kFI;EA0HM,qBzBtFO;EyBuFP,gDzBvFO;AH4iFjB;;A4BpkFE;EACE,aAAa;EACb,WAAW;EACX,mBzBikB0C;ECzVxC,kBAvE+B;EwB9JjC,czBea;AHujFjB;;A4BnkFE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBzBs8B2C;EyBr8B3C,iBAAiB;ExB2Nf,mBAvE+B;EwBjJjC,WzB5BW;EyB6BX,wCzBCa;EEnBb,sBF+TgC;AHyxEpC;;A4BtmFI;;;;EAuCE,cAAc;A5BskFpB;;A4B7mFI;EA6CE,qBzBZW;EyBeT,oCViIwD;EUhIxD,4UV4B0E;EU3B1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gEV6HwD;AlBq8EhE;;A4BtnFI;EAwDI,qBzBvBS;EyBwBT,gDzBxBS;AH0lFjB;;A4B3nFI;EAkEI,oCV+GwD;EU9GxD,kFV8GwD;AlB+8EhE;;A4BhoFI;EA0EE,qBzBzCW;EyB4CT,uCVoGwD;EUnGxD,6iBVD0E;EUE1E,+DzBkoBwG;EyBjoBxG,2EViGwD;AlBu9EhE;;A4BxoFI;EAoFI,qBzBnDS;EyBoDT,gDzBpDS;AH4mFjB;;A4B7oFI;EA4FE,qBzB3DW;AHgnFjB;;A4BjpFI;EA+FI,yBzB9DS;AHonFjB;;A4BrpFI;EAmGI,gDzBlES;AHwnFjB;;A4BzpFI;EAuGI,czBtES;AH4nFjB;;A4BljFE;EAEI,iBAAiB;A5BojFvB;;A4BjqFI;EAqHI,qBzBpFS;AHooFjB;;A4BrqFI;EA0HM,qBzBzFO;EyB0FP,gDzB1FO;AHyoFjB;;A6B1qFA;EACE,qBAAqB;EAErB,gB1ByY+B;E0BxY/B,gB1B8Y+B;E0B7Y/B,c1BOgB;E0BNhB,kBAAkB;EAClB,qBAAwD;EAExD,sBAAsB;EACtB,eAA2C;EAC3C,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,6BAA2C;ECmG3C,yB3B+ZkC;ECxR9B,eAvE+B;EClKjC,sBF+TgC;EkBjU9B,qIlB+jB6I;AHinEnJ;;AqB5qFM;EQhBN;IRiBQ,gBAAgB;ErBgrFtB;AACF;;A6BlsFA;EAkBI,c1BNc;AH0rFlB;;A6BtsFA;EAwBI,UAAU;EACV,iD1BIa;AH8qFjB;;A6B3sFA;;EAwCI,oBAAoB;EACpB,a1BohB6B;AHopEjC;;A6B7pFE;ECxCA,W3BTa;EsBJb,yBtB8Be;E2Bff,qB3Bee;AH0rFjB;;A8BtsFE;EACE,W3BfW;EsBJb,yBKM4C;EAe1C,qBAdiC;A9ButFrC;;A8BtsFE;EAEE,W3BtBW;EsBJb,yBKM4C;EAsB1C,qBArBiC;EA0B/B,gDAAiE;A9BosFvE;;A8BhsFE;;EAGE,W3BpCW;E2BqCX,yBAhC0C;EAmC1C,qBAlCoC;A9BkuFxC;;A8B9rFI;;EAKI,gDAAiE;A9B8rFzE;;A8BzrFE;EAEE,W3BtDW;E2BuDX,yB3B7Ba;E2BgCb,qB3BhCa;AHytFjB;;A6BlsFE;ECxCA,W3BTa;EsBJb,yBtBUgB;E2BKhB,qB3BLgB;AHmvFlB;;A8B3uFE;EACE,W3BfW;EsBJb,yBKM4C;EAe1C,qBAdiC;A9B4vFrC;;A8B3uFE;EAEE,W3BtBW;EsBJb,yBKM4C;EAsB1C,qBArBiC;EA0B/B,iDAAiE;A9ByuFvE;;A8BruFE;;EAGE,W3BpCW;E2BqCX,yBAhC0C;EAmC1C,qBAlCoC;A9BuwFxC;;A8BnuFI;;EAKI,iDAAiE;A9BmuFzE;;A8B9tFE;EAEE,W3BtDW;E2BuDX,yB3BjDc;E2BoDd,qB3BpDc;AHkxFlB;;A6BvuFE;ECxCA,W3BTa;EsBJb,yBtBqCe;E2BtBf,qB3BsBe;AH6vFjB;;A8BhxFE;EACE,W3BfW;EsBJb,yBKM4C;EAe1C,qBAdiC;A9BiyFrC;;A8BhxFE;EAEE,W3BtBW;EsBJb,yBKM4C;EAsB1C,qBArBiC;EA0B/B,+CAAiE;A9B8wFvE;;A8B1wFE;;EAGE,W3BpCW;E2BqCX,yBAhC0C;EAmC1C,qBAlCoC;A9B4yFxC;;A8BxwFI;;EAKI,+CAAiE;A9BwwFzE;;A8BnwFE;EAEE,W3BtDW;E2BuDX,yB3BtBa;E2ByBb,qB3BzBa;AH4xFjB;;A6B5wFE;ECxCA,W3BTa;EsBJb,yBtBuCe;E2BxBf,qB3BwBe;AHgyFjB;;A8BrzFE;EACE,W3BfW;EsBJb,yBKM4C;EAe1C,qBAdiC;A9Bs0FrC;;A8BrzFE;EAEE,W3BtBW;EsBJb,yBKM4C;EAsB1C,qBArBiC;EA0B/B,gDAAiE;A9BmzFvE;;A8B/yFE;;EAGE,W3BpCW;E2BqCX,yBAhC0C;EAmC1C,qBAlCoC;A9Bi1FxC;;A8B7yFI;;EAKI,gDAAiE;A9B6yFzE;;A8BxyFE;EAEE,W3BtDW;E2BuDX,yB3BpBa;E2BuBb,qB3BvBa;AH+zFjB;;A6BjzFE;ECxCA,c3BAgB;EsBbhB,yBtBoCe;E2BrBf,qB3BqBe;AHw0FjB;;A8B11FE;EACE,c3BNc;EsBbhB,yBKM4C;EAe1C,qBAdiC;A9B22FrC;;A8B11FE;EAEE,c3Bbc;EsBbhB,yBKM4C;EAsB1C,qBArBiC;EA0B/B,gDAAiE;A9Bw1FvE;;A8Bp1FE;;EAGE,c3B3Bc;E2B4Bd,yBAhC0C;EAmC1C,qBAlCoC;A9Bs3FxC;;A8Bl1FI;;EAKI,gDAAiE;A9Bk1FzE;;A8B70FE;EAEE,c3B7Cc;E2B8Cd,yB3BvBa;E2B0Bb,qB3B1Ba;AHu2FjB;;A6Bt1FE;ECxCA,W3BTa;EsBJb,yBtBkCe;E2BnBf,qB3BmBe;AH+2FjB;;A8B/3FE;EACE,W3BfW;EsBJb,yBKM4C;EAe1C,qBAdiC;A9Bg5FrC;;A8B/3FE;EAEE,W3BtBW;EsBJb,yBKM4C;EAsB1C,qBArBiC;EA0B/B,+CAAiE;A9B63FvE;;A8Bz3FE;;EAGE,W3BpCW;E2BqCX,yBAhC0C;EAmC1C,qBAlCoC;A9B25FxC;;A8Bv3FI;;EAKI,+CAAiE;A9Bu3FzE;;A8Bl3FE;EAEE,W3BtDW;E2BuDX,yB3BzBa;E2B4Bb,qB3B5Ba;AH84FjB;;A6B33FE;ECxCA,c3BAgB;EsBbhB,yBtBKgB;E2BUhB,qB3BVgB;AHi7FlB;;A8Bp6FE;EACE,c3BNc;EsBbhB,yBKM4C;EAe1C,qBAdiC;A9Bq7FrC;;A8Bp6FE;EAEE,c3Bbc;EsBbhB,yBKM4C;EAsB1C,qBArBiC;EA0B/B,iDAAiE;A9Bk6FvE;;A8B95FE;;EAGE,c3B3Bc;E2B4Bd,yBAhC0C;EAmC1C,qBAlCoC;A9Bg8FxC;;A8B55FI;;EAKI,iDAAiE;A9B45FzE;;A8Bv5FE;EAEE,c3B7Cc;E2B8Cd,yB3BtDc;E2ByDd,qB3BzDc;AHg9FlB;;A6Bh6FE;ECxCA,W3BTa;EsBJb,yBtBYgB;E2BGhB,qB3BHgB;AH+8FlB;;A8Bz8FE;EACE,W3BfW;EsBJb,yBKM4C;EAe1C,qBAdiC;A9B09FrC;;A8Bz8FE;EAEE,W3BtBW;EsBJb,yBKM4C;EAsB1C,qBArBiC;EA0B/B,8CAAiE;A9Bu8FvE;;A8Bn8FE;;EAGE,W3BpCW;E2BqCX,yBAhC0C;EAmC1C,qBAlCoC;A9Bq+FxC;;A8Bj8FI;;EAKI,8CAAiE;A9Bi8FzE;;A8B57FE;EAEE,W3BtDW;E2BuDX,yB3B/Cc;E2BkDd,qB3BlDc;AH8+FlB;;A6B/7FE;ECcA,c3B3Ce;E2B4Cf,qB3B5Ce;AHi+FjB;;A8Bn7FE;EACE,W3BzEW;E2B0EX,yB3BhDa;E2BiDb,qB3BjDa;AHu+FjB;;A8Bn7FE;EAEE,gD3BtDa;AH2+FjB;;A8Bl7FE;EAGE,W3BtFW;E2BuFX,yB3B7Da;E2B8Db,qB3B9Da;AHi/FjB;;A8Bj7FI;EAKI,gD3BrES;AHq/FjB;;A8B36FE;EAEE,c3B5Ea;E2B6Eb,6BAA6B;A9B66FjC;;A6B79FE;ECcA,c3B/DgB;E2BgEhB,qB3BhEgB;AHmhGlB;;A8Bj9FE;EACE,W3BzEW;E2B0EX,yB3BpEc;E2BqEd,qB3BrEc;AHyhGlB;;A8Bj9FE;EAEE,iD3B1Ec;AH6hGlB;;A8Bh9FE;EAGE,W3BtFW;E2BuFX,yB3BjFc;E2BkFd,qB3BlFc;AHmiGlB;;A8B/8FI;EAKI,iD3BzFU;AHuiGlB;;A8Bz8FE;EAEE,c3BhGc;E2BiGd,6BAA6B;A9B28FjC;;A6B3/FE;ECcA,c3BpCe;E2BqCf,qB3BrCe;AHshGjB;;A8B/+FE;EACE,W3BzEW;E2B0EX,yB3BzCa;E2B0Cb,qB3B1Ca;AH4hGjB;;A8B/+FE;EAEE,+C3B/Ca;AHgiGjB;;A8B9+FE;EAGE,W3BtFW;E2BuFX,yB3BtDa;E2BuDb,qB3BvDa;AHsiGjB;;A8B7+FI;EAKI,+C3B9DS;AH0iGjB;;A8Bv+FE;EAEE,c3BrEa;E2BsEb,6BAA6B;A9By+FjC;;A6BzhGE;ECcA,c3BlCe;E2BmCf,qB3BnCe;AHkjGjB;;A8B7gGE;EACE,W3BzEW;E2B0EX,yB3BvCa;E2BwCb,qB3BxCa;AHwjGjB;;A8B7gGE;EAEE,gD3B7Ca;AH4jGjB;;A8B5gGE;EAGE,W3BtFW;E2BuFX,yB3BpDa;E2BqDb,qB3BrDa;AHkkGjB;;A8B3gGI;EAKI,gD3B5DS;AHskGjB;;A8BrgGE;EAEE,c3BnEa;E2BoEb,6BAA6B;A9BugGjC;;A6BvjGE;ECcA,c3BrCe;E2BsCf,qB3BtCe;AHmlGjB;;A8B3iGE;EACE,c3BhEc;E2BiEd,yB3B1Ca;E2B2Cb,qB3B3Ca;AHylGjB;;A8B3iGE;EAEE,+C3BhDa;AH6lGjB;;A8B1iGE;EAGE,c3B7Ec;E2B8Ed,yB3BvDa;E2BwDb,qB3BxDa;AHmmGjB;;A8BziGI;EAKI,+C3B/DS;AHumGjB;;A8BniGE;EAEE,c3BtEa;E2BuEb,6BAA6B;A9BqiGjC;;A6BrlGE;ECcA,c3BvCe;E2BwCf,qB3BxCe;AHmnGjB;;A8BzkGE;EACE,W3BzEW;E2B0EX,yB3B5Ca;E2B6Cb,qB3B7Ca;AHynGjB;;A8BzkGE;EAEE,+C3BlDa;AH6nGjB;;A8BxkGE;EAGE,W3BtFW;E2BuFX,yB3BzDa;E2B0Db,qB3B1Da;AHmoGjB;;A8BvkGI;EAKI,+C3BjES;AHuoGjB;;A8BjkGE;EAEE,c3BxEa;E2ByEb,6BAA6B;A9BmkGjC;;A6BnnGE;ECcA,c3BpEgB;E2BqEhB,qB3BrEgB;AH8qGlB;;A8BvmGE;EACE,c3BhEc;E2BiEd,yB3BzEc;E2B0Ed,qB3B1Ec;AHorGlB;;A8BvmGE;EAEE,iD3B/Ec;AHwrGlB;;A8BtmGE;EAGE,c3B7Ec;E2B8Ed,yB3BtFc;E2BuFd,qB3BvFc;AH8rGlB;;A8BrmGI;EAKI,iD3B9FU;AHksGlB;;A8B/lGE;EAEE,c3BrGc;E2BsGd,6BAA6B;A9BimGjC;;A6BjpGE;ECcA,c3B7DgB;E2B8DhB,qB3B9DgB;AHqsGlB;;A8BroGE;EACE,W3BzEW;E2B0EX,yB3BlEc;E2BmEd,qB3BnEc;AH2sGlB;;A8BroGE;EAEE,8C3BxEc;AH+sGlB;;A8BpoGE;EAGE,W3BtFW;E2BuFX,yB3B/Ec;E2BgFd,qB3BhFc;AHqtGlB;;A8BnoGI;EAKI,8C3BvFU;AHytGlB;;A8B7nGE;EAEE,c3B9Fc;E2B+Fd,6BAA6B;A9B+nGjC;;A6BpqGA;EACE,gB1BsU+B;E0BrU/B,c1B1Ce;E0B2Cf,0B1B0LiD;AH6+FnD;;A6B1qGA;EAMI,c1BwL8D;AHg/FlE;;A6B9qGA;EAiBI,c1B7Ec;AH8uGlB;;A6BtpGA;ECeE,oB3B8agC;ECvS5B,kBAvE+B;EClKjC,qBFiU+B;AH86FnC;;A6BxpGA;ECWE,uB3B0aiC;ECnS7B,mBAvE+B;EClKjC,qBFgU+B;AHq7FnC;;A6BrpGA;EACE,cAAc;EACd,WAAW;A7BwpGb;;A6B1pGA;EAMI,kB1Bgd+B;AHwsFnC;;A+BhxGA;EVgBM,gClBoV2C;AHg7FjD;;AqBhwGM;EUpBN;IVqBQ,gBAAgB;ErBowGtB;AACF;;A+B1xGA;EAII,UAAU;A/B0xGd;;A+BtxGA;EAEI,aAAa;A/BwxGjB;;A+BpxGA;EACE,SAAS;EACT,gBAAgB;EVAZ,6BlBqVwC;AHm8F9C;;AqBpxGM;EUNN;IVOQ,gBAAgB;ErBwxGtB;AACF;;AgC7yGA;;;;EAIE,kBAAkB;AhCgzGpB;;A2BnrGqB;EKzHnB,mBAAmB;AhCgzGrB;;AiC5xGI;EACE,qBAAqB;EACrB,oB9BkU0C;E8BjU1C,uB9BgU0C;E8B/T1C,WAAW;EAhCf,uBAA8B;EAC9B,qCAA4C;EAC5C,gBAAgB;EAChB,oCAA2C;AjCg0G7C;;AiC3wGI;EACE,cAAc;AjC8wGpB;;A2BtsG2C;EKjHzC,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,a7ByyBsC;E6BxyBtC,aAAa;EACb,gB7Bk3BuC;E6Bj3BvC,iBAA8B;EAC9B,oBAA4B;E5BmOxB,eAvE+B;E4B1JnC,c7BVgB;E6BWhB,gBAAgB;EAChB,gBAAgB;EAChB,sB7BtBa;E6BuBb,4BAA4B;EAC5B,qC7Bda;EECX,sBF+TgC;AH0gGpC;;AgClzGI;EACE,WAAW;E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sBAAsC;EACtC,qBAAqC;AlCiiHvC;;AkC7gHA;EACE,sBAAsB;EACtB,uBAAuB;EACvB,uBAAuB;AlCghHzB;;AkCnhHA;;EAOI,WAAW;AlCihHf;;AkCxhHA;;EAYI,gB/BsN6B;AH2zGjC;;AkC7hHA;;E7BnEI,6B6BqF+B;E7BpF/B,4B6BoF+B;AlCihHnC;;AkCniHA;;E7BjFI,yB6BwG4B;E7BvG5B,0B6BuG4B;AlCkhHhC;;AkCjgHA;;;;EAKM,kBAAkB;EAClB,sBAAsB;EACtB,oBAAoB;AlCmgH1B;;AmCzpHA;EACE,aAAa;EACb,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AnC4pHlB;;AmCzpHA;EACE,cAAc;EACd,oBhC2zBsC;EgC1zBtC,qBAAwD;EdApD,uGlB2zBsH;AHk2F5H;;AqBzpHM;EcPN;IdQQ,gBAAgB;ErB6pHtB;AACF;;AmCtqHA;EAaI,chCbc;EgCcd,oBAAoB;EACpB,eAAe;AnC6pHnB;;AmCrpHA;EACE,gChC3BgB;AHmrHlB;;AmCzpHA;EAII,mBhCsS6B;EgCrS7B,6BAAgD;E9BdhD,+BFsTgC;EErThC,gCFqTgC;AHm3GpC;;AmChqHA;EAUM,qChCpCY;AH8rHlB;;AmCpqHA;EAcM,chCrCY;EgCsCZ,6BAA6B;EAC7B,yBAAyB;AnC0pH/B;;AmC1qHA;;EAsBI,chC5Cc;EgC6Cd,sBhCpDW;EgCqDX,kChCrDW;AH8sHf;;AmCjrHA;EA6BI,gBhC6Q6B;EEnT7B,yB8BwC4B;E9BvC5B,0B8BuC4B;AnCwpHhC;;AmC/oHA;E9B1DI,sBF+TgC;AH84GpC;;AmCnpHA;;EAOI,WhC5EW;EsBJb,yBtB8Be;AHosHjB;;AmCxoHA;;EAGI,cAAc;EACd,kBAAkB;AnC0oHtB;;AmCtoHA;;EAGI,aAAa;EACb,YAAY;EACZ,kBAAkB;AnCwoHtB;;AmC/nHA;EAEI,aAAa;AnCioHjB;;AmCnoHA;EAKI,cAAc;AnCkoHlB;;AoC1uHA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,8BAA8B;EAC9B,mBjCu0B6C;EiCr0B7C,sBjCq0B6C;AHu6F/C;;AoCpvHA;;EAgBI,aAAa;EACb,kBAAkB;EAClB,mBAAmB;EACnB,8BAA8B;ApCyuHlC;;AoCrtHA;EACE,sBjC8yB+E;EiC7yB/E,yBjC6yB+E;EiC5yB/E,kBjC6yBsC;EC5mBlC,kBAvE+B;EgCxHnC,qBAAwD;EACxD,mBAAmB;ApCwtHrB;;AoC3sHA;EACE,aAAa;EACb,sBAAsB;EACtB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;ApC8sHlB;;AoCntHA;EAQI,gBAAgB;EAChB,eAAe;ApC+sHnB;;AoCxtHA;EAaI,gBAAgB;ApC+sHpB;;AoCtsHA;EACE,mBjCwuBuC;EiCvuBvC,sBjCuuBuC;AHk+FzC;;AoC7rHA;EAGE,mBAAmB;EACnB,WAAW;ApC8rHb;;AoC1rHA;EACE,wBjCmvBwC;EC/mBpC,kBAvE+B;EgC3DnC,cAAc;EACd,6BAA6B;EAC7B,6BAAuC;E/BzGrC,sBF+TgC;EkBjU9B,wClB81ByD;AH48F/D;;AqBtyHM;EekGN;IfjGQ,gBAAgB;ErB0yHtB;AACF;;AoC1sHA;EAUI,qBAAqB;ApCosHzB;;AoC9sHA;EAcI,qBAAqB;EACrB,UAAU;EACV,wBjCkZiC;AHkzGrC;;AoC9rHA;EACE,qBAAqB;EACrB,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,4BAA4B;EAC5B,2BAA2B;EAC3B,qBAAqB;ApCisHvB;;AYrxHI;EwB8FA;IAEI,iBAAiB;IACjB,2BAA2B;EpC0rHjC;EoC7rHG;IAMK,mBAAmB;EpC0rH3B;EoChsHG;IASO,kBAAkB;EpC0rH5B;EoCnsHG;IAaO,qBjCsrB6B;IiCrrB7B,oBjCqrB6B;EHogGvC;EoCvsHG;IAmBK,wBAAwB;EpCurHhC;EoC1sHG;IAuBK,aAAa;EpCsrHrB;AACF;;AY5yHI;EwB8FA;IAEI,iBAAiB;IACjB,2BAA2B;EpCitHjC;EoCptHG;IAMK,mBAAmB;EpCitH3B;EoCvtHG;IASO,kBAAkB;EpCitH5B;EoC1tHG;IAaO,qBjCsrB6B;IiCrrB7B,oBjCqrB6B;EH2hGvC;EoC9tHG;IAmBK,wBAAwB;EpC8sHhC;EoCjuHG;IAuBK,aAAa;EpC6sHrB;AACF;;AYn0HI;EwB8FA;IAEI,iBAAiB;IACjB,2BAA2B;EpCwuHjC;EoC3uHG;IAMK,mBAAmB;EpCwuH3B;EoC9uHG;IASO,kBAAkB;EpCwuH5B;EoCjvHG;IAaO,qBjCsrB6B;IiCrrB7B,oBjCqrB6B;EHkjGvC;EoCrvHG;IAmBK,wBAAwB;EpCquHhC;EoCxvHG;IAuBK,aAAa;EpCouHrB;AACF;;AY11HI;EwB8FA;IAEI,iBAAiB;IACjB,2BAA2B;EpC+vHjC;EoClwHG;IAMK,mBAAmB;EpC+vH3B;EoCrwHG;IASO,kBAAkB;EpC+vH5B;EoCxwHG;IAaO,qBjCsrB6B;IiCrrB7B,oBjCqrB6B;EHykGvC;EoC5wHG;IAmBK,wBAAwB;EpC4vHhC;EoC/wHG;IAuBK,aAAa;EpC2vHrB;AACF;;AYj3HI;EwB8FA;IAEI,iBAAiB;IACjB,2BAA2B;EpCsxHjC;EoCzxHG;IAMK,mBAAmB;EpCsxH3B;EoC5xHG;IASO,kBAAkB;EpCsxH5B;EoC/xHG;IAaO,qBjCsrB6B;IiCrrB7B,oBjCqrB6B;EHgmGvC;EoCnyHG;IAmBK,wBAAwB;EpCmxHhC;EoCtyHG;IAuBK,aAAa;EpCkxHrB;AACF;;AoC/yHA;EAOQ,iBAAiB;EACjB,2BAA2B;ApC4yHnC;;AoCpzHA;EAWU,mBAAmB;ApC6yH7B;;AoCxzHA;EAcY,kBAAkB;ApC8yH9B;;AoC5zHA;EAkBY,qBjCsrB6B;EiCrrB7B,oBjCqrB6B;AHynGzC;;AoCj0HA;EAwBU,wBAAwB;ApC6yHlC;;AoCr0HA;EA4BU,aAAa;ApC6yHvB;;AoChyHA;EAEI,yBjClLW;AHo9Hf;;AoCpyHA;EAMM,yBjCtLS;AHw9Hf;;AoCxyHA;EAYM,0BjC5LS;AH49Hf;;AoC5yHA;EAgBQ,yBjChMO;AHg+Hf;;AoChzHA;EAoBQ,yBjCpMO;AHo+Hf;;AoCpzHA;;EA0BM,yBjC1MS;AHy+Hf;;AoCzzHA;EA+BI,0BjC/MW;EiCgNX,gCjChNW;AH8+Hf;;AoC9zHA;EAoCI,6PlBpJ8E;AlBk7HlF;;AoCl0HA;EAwCI,0BjCxNW;AHs/Hf;;AoCt0HA;;;EA6CM,yBjC7NS;AH4/Hf;;AoCzxHA;EAEI,WjC/OW;AH0gIf;;AoC7xHA;EAMM,WjCnPS;AH8gIf;;AoCjyHA;EAYM,gCjCzPS;AHkhIf;;AoCryHA;EAgBQ,gCjC7PO;AHshIf;;AoCzyHA;EAoBQ,gCjCjQO;AH0hIf;;AoC7yHA;;EA0BM,WjCvQS;AH+hIf;;AoClzHA;EA+BI,gCjC5QW;EiC6QX,sCjC7QW;AHoiIf;;AoCvzHA;EAoCI,mQlBvM8E;AlB89HlF;;AoC3zHA;EAwCI,gCjCrRW;AH4iIf;;AoC/zHA;;;EA4CM,WjCzRS;AHkjIf;;AqCrjIA;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,YAAY;EAEZ,qBAAqB;EACrB,sBlCJa;EkCKb,2BAA2B;EAC3B,sClCIa;EECX,sBF+TgC;AHovHpC;;AqCjkIA;EAaI,eAAe;EACf,cAAc;ArCwjIlB;;AqCtkIA;EAkBI,mBAAmB;EACnB,sBAAsB;ArCwjI1B;;AqC3kIA;EAsBM,mBAAmB;EhCCrB,2Ca8K4D;Eb7K5D,4Ca6K4D;AlB44HhE;;AqCjlIA;EA2BM,sBAAsB;EhCUxB,+CagK4D;Eb/J5D,8Ca+J4D;AlBk5HhE;;AqCvlIA;;EAoCI,aAAa;ArCwjIjB;;AqCpjIA;EAGE,cAAc;EACd,kBlC4LW;AHy3Hb;;AqCjjIA;EACE,qBlCq5B6C;AH+pG/C;;AqCjjIA;EACE,oBAAqC;EACrC,gBAAgB;ArCojIlB;;AqCjjIA;EACE,gBAAgB;ArCojIlB;;AqCjjIA;EAEI,qBAAqB;ArCmjIzB;;AqCrjIA;EAMI,iBlCqKS;AH84Hb;;AqC3iIA;EACE,oBlC4JW;EkC3JX,gBAAgB;EAEhB,qClClEa;EkCmEb,6ClCnEa;AHgnIf;;AqCljIA;EhC7DI,0DgCqE8E;ArC8iIlF;;AqC1iIA;EACE,oBlCgJW;EkC9IX,qClC7Ea;EkC8Eb,0ClC9Ea;AH0nIf;;AqChjIA;EhCzEI,0DauL4D;AlBs8HhE;;AqCpiIA;EACE,qBAAsC;EACtC,sBlCk2BoD;EkCj2BpD,oBAAqC;EACrC,gBAAgB;ArCuiIlB;;AqC7hIA;EACE,qBAAsC;EACtC,oBAAqC;ArCgiIvC;;AqC5hIA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,alCuGW;EE1NT,kCauL4D;AlB49HhE;;AqC5hIA;;;EAGE,WAAW;ArC+hIb;;AqC5hIA;;EhCpHI,2Ca8K4D;Eb7K5D,4Ca6K4D;AlBw+HhE;;AqC7hIA;;EhC3GI,+CagK4D;Eb/J5D,8Ca+J4D;AlB8+HhE;;AqCzhIA;EAII,sBlCuzBsD;AHkuG1D;;AY5nII;EyB+FJ;IAQI,aAAa;IACb,mBAAmB;ErC0hIrB;EqCniIF;IAcM,YAAY;IACZ,gBAAgB;ErCwhIpB;EqCviIF;IAkBQ,cAAc;IACd,cAAc;ErCwhIpB;EqC3iIF;IhC5HI,0BgCqJoC;IhCpJpC,6BgCoJoC;ErCshItC;EqC/iIF;;IA8BY,0BAA0B;ErCqhIpC;EqCnjIF;;IAmCY,6BAA6B;ErCohIvC;EqCvjIF;IhC9GI,yBgCsJmC;IhCrJnC,4BgCqJmC;ErCmhIrC;EqC3jIF;;IA6CY,yBAAyB;ErCkhInC;EqC/jIF;;IAkDY,4BAA4B;ErCihItC;AACF;;AqCrgIA;EAEI,gBAAgB;ArCugIpB;;AqCzgIA;EAKM,gBAAgB;EhCzLlB,6BgC0LiC;EhCzLjC,4BgCyLiC;ArCygIrC;;AqC/gIA;EhClMI,yBgC4M8B;EhC3M9B,0BgC2M8B;ArC0gIlC;;AqCphIA;EhC3MI,gBgCyN0B;EACxB,mBlCkG2B;AHw6HjC;;AsCtvIA;EACE,aAAa;EACb,eAAe;EACf,oBnCyOW;EmCxOX,mBnCkqCsC;EmChqCtC,gBAAgB;EAChB,yBnCEgB;EESd,sBF+TgC;AH+6HpC;;AsCrvIA;EACE,aAAa;AtCwvIf;;AsCzvIA;EAKI,oBnCqpCqC;AHmmGzC;;AsC7vIA;EAQM,qBAAqB;EACrB,qBnCipCmC;EmChpCnC,cnCRY;EmCSZ,YnCopCuC;AHqmG7C;;AsCpwIA;EAgBI,cnCdc;AHswIlB;;AuCnxIA;EACE,aAAa;EhCGb,eAAe;EACf,gBAAgB;APoxIlB;;AuCpxIA;EACE,kBAAkB;EAClB,cAAc;EACd,cpCyBe;EoCxBf,qBAAwD;EACxD,sBpCHa;EoCIb,yBpCDgB;AHwxIlB;;AuC7xIA;EASI,UAAU;EACV,cpCwP8D;EoCtP9D,yBpCRc;EoCSd,qBpCRc;AH+xIlB;;AuCpyIA;EAiBI,UAAU;EACV,UpCg6BiC;EoC/5BjC,iDpCSa;AH8wIjB;;AuCnxIA;EAEI,iBpCgT6B;AHq+HjC;;AuCvxIA;EAMI,UAAU;EACV,WpC5BW;EsBJb,yBtB8Be;EoCIb,qBpCJa;AHyxIjB;;AuC9xIA;EAaI,cpC5Bc;EoC6Bd,oBAAoB;EACpB,sBpCpCW;EoCqCX,qBpClCc;AHuzIlB;;AuC5zIA;ECDI,yBrCq6BsC;AH45G1C;;AwC7zIE;EnCwCE,+BFiSgC;EEhShC,kCFgSgC;AHy/HpC;;AwCl0IE;EnC0BE,gCF+SgC;EE9ShC,mCF8SgC;AH8/HpC;;AwC50IE;EACE,uBrCy6BsC;EClrBpC,kBAvE+B;AJgqIrC;;AwCz0IQ;EnCqCJ,8BFmS+B;EElS/B,iCFkS+B;AHsgInC;;AwCx0IQ;EnCiBJ,+BFiT+B;EEhT/B,kCFgT+B;AH2gInC;;AwC31IE;EACE,uBrCu6BqC;EChrBnC,mBAvE+B;AJ+qIrC;;AwCx1IQ;EnCqCJ,8BFkS+B;EEjS/B,iCFiS+B;AHshInC;;AwCv1IQ;EnCiBJ,+BFgT+B;EE/S/B,kCF+S+B;AH2hInC;;AyCx2IA;EACE,qBAAqB;EACrB,qBtCiiCsC;EC7yBlC,iBAvE+B;EqC3KnC,gBtCwY+B;EsCvY/B,cAAc;EACd,WtCJa;EsCKb,kBAAkB;EAClB,mBAAmB;EACnB,wBAAwB;EpCItB,sBF+TgC;AHyiIpC;;AyCr3IA;EAeI,aAAa;AzC02IjB;;AyCr2IA;EACE,kBAAkB;EAClB,SAAS;AzCw2IX;;A0C/3IA;EACE,kBAAkB;EAClB,kBvCsOW;EuCrOX,mBvCslCsC;EuCrlCtC,6BAA6C;ErCU3C,sBF+TgC;AH0jIpC;;A0C93IA;EAEE,cAAc;A1Cg4IhB;;A0C53IA;EACE,gBvC6X+B;AHkgIjC;;A0Cv3IA;EACE,qBAAsD;A1C03IxD;;A0C33IA;EAKI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,kBvCwMS;EuCvMT,cAAc;A1C03IlB;;A0Cj3IE;EC7CA,czB0JgE;EOxJhE,yBPwJgE;EyBxJhE,qBzBwJgE;AlB0wIlE;;A2Ch6IE;EACE,cAA0B;A3Cm6I9B;;A0C33IE;EC7CA,czB0JgE;EOxJhE,yBPwJgE;EyBxJhE,qBzBwJgE;AlBoxIlE;;A2C16IE;EACE,cAA0B;A3C66I9B;;A0Cr4IE;EC7CA,czB0JgE;EOxJhE,yBPwJgE;EyBxJhE,qBzBwJgE;AlB8xIlE;;A2Cp7IE;EACE,cAA0B;A3Cu7I9B;;A0C/4IE;EC7CA,czB0JgE;EOxJhE,yBPwJgE;EyBxJhE,qBzBwJgE;AlBwyIlE;;A2C97IE;EACE,cAA0B;A3Ci8I9B;;A0Cz5IE;EC7CA,czB0JgE;EOxJhE,yBPwJgE;EyBxJhE,qBzBwJgE;AlBkzIlE;;A2Cx8IE;EACE,cAA0B;A3C28I9B;;A0Cn6IE;EC7CA,czB0JgE;EOxJhE,yBPwJgE;EyBxJhE,qBzBwJgE;AlB4zIlE;;A2Cl9IE;EACE,cAA0B;A3Cq9I9B;;A0C76IE;EC7CA,czB0JgE;EOxJhE,yBPwJgE;EyBxJhE,qBzBwJgE;AlBs0IlE;;A2C59IE;EACE,cAA0B;A3C+9I9B;;A0Cv7IE;EC7CA,czB0JgE;EOxJhE,yBPwJgE;EyBxJhE,qBzBwJgE;AlBg1IlE;;A2Ct+IE;EACE,cAA0B;A3Cy+I9B;;A4C7+IE;EACE;IAAK,2BzCsmC+B;EH24GtC;AACF;;A4Cn/IE;EACE;IAAK,2BzCsmC+B;EH24GtC;AACF;;A4C9+IA;EACE,aAAa;EACb,YzCgmCsC;EyC/lCtC,gBAAgB;ExCiPZ,kBAvE+B;EwCxKnC,yBzCHgB;EESd,sBF+TgC;AH6qIpC;;A4C7+IA;EACE,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EACvB,gBAAgB;EAChB,WzCfa;EyCgBb,kBAAkB;EAClB,mBAAmB;EACnB,yBzCQe;EkBjBX,2BlBimC4C;AHy5GlD;;AqBt/IM;EuBHN;IvBIQ,gBAAgB;ErB0/ItB;AACF;;A4Cn/IA;EnBYE,qMAA6I;EmBV7I,0BzC0kCsC;AH46GxC;;A4Cl/IE;EACE,0DzC4kCkD;EyC5kClD,kDzC4kCkD;AHy6GtD;;A4Cl/IM;EAJJ;IAKM,uBAAe;IAAf,eAAe;E5Cs/IrB;AACF;;A6C3hJA;EACE,aAAa;EACb,sBAAsB;EAGtB,eAAe;EACf,gBAAgB;ExCQd,sBF+TgC;AHstIpC;;A6CnhJA;EACE,WAAW;EACX,c1CRgB;E0CShB,mBAAmB;A7CshJrB;;A6CzhJA;EAQI,UAAU;EACV,c1Cfc;E0CgBd,qBAAqB;EACrB,yB1CvBc;AH4iJlB;;A6ChiJA;EAeI,c1CnBc;E0CoBd,yB1C3Bc;AHgjJlB;;A6C5gJA;EACE,kBAAkB;EAClB,cAAc;EACd,oB1C4LW;E0C1LX,qBAAwD;EACxD,sB1C5Ca;E0C6Cb,sC1CnCa;AHijJf;;A6CrhJA;ExClBI,+BwC4BkC;ExC3BlC,gCwC2BkC;A7CghJtC;;A6C1hJA;ExCJI,mCwCkBqC;ExCjBrC,kCwCiBqC;A7CihJzC;;A6C/hJA;EAmBI,c1CnDc;E0CoDd,oBAAoB;EACpB,sB1C3DW;AH2kJf;;A6CriJA;EA0BI,UAAU;EACV,W1CjEW;E0CkEX,yB1CxCa;E0CyCb,qB1CzCa;AHwjJjB;;A6C5iJA;EAiCI,mBAAmB;A7C+gJvB;;A6ChjJA;EAoCM,gB1C6P2B;E0C5P3B,qB1C4P2B;AHoxIjC;;A6ClgJI;EACE,mBAAmB;A7CqgJzB;;A6CtgJI;ExCvBA,kCFwQgC;EEpRhC,0BwCyCwC;A7CqgJ5C;;A6C3gJI;ExCnCA,gCFoRgC;EExQhC,4BwCkC0C;A7CqgJ9C;;A6ChhJI;EAeM,aAAa;A7CqgJvB;;A6CphJI;EAmBM,qB1C2NuB;E0C1NvB,oBAAoB;A7CqgJ9B;;A6CzhJI;EAuBQ,iB1CuNqB;E0CtNrB,sB1CsNqB;AHgzIjC;;AY/jJI;EiCiCA;IACE,mBAAmB;E7CkiJvB;E6CniJE;IxCvBA,kCFwQgC;IEpRhC,0BwCyCwC;E7CiiJ1C;E6CviJE;IxCnCA,gCFoRgC;IExQhC,4BwCkC0C;E7CgiJ5C;E6C3iJE;IAeM,aAAa;E7C+hJrB;E6C9iJE;IAmBM,qB1C2NuB;I0C1NvB,oBAAoB;E7C8hJ5B;E6CljJE;IAuBQ,iB1CuNqB;I0CtNrB,sB1CsNqB;EHw0I/B;AACF;;AYxlJI;EiCiCA;IACE,mBAAmB;E7C2jJvB;E6C5jJE;IxCvBA,kCFwQgC;IEpRhC,0BwCyCwC;E7C0jJ1C;E6ChkJE;IxCnCA,gCFoRgC;IExQhC,4BwCkC0C;E7CyjJ5C;E6CpkJE;IAeM,aAAa;E7CwjJrB;E6CvkJE;IAmBM,qB1C2NuB;I0C1NvB,oBAAoB;E7CujJ5B;E6C3kJE;IAuBQ,iB1CuNqB;I0CtNrB,sB1CsNqB;EHi2I/B;AACF;;AYjnJI;EiCiCA;IACE,mBAAmB;E7ColJvB;E6CrlJE;IxCvBA,kCFwQgC;IEpRhC,0BwCyCwC;E7CmlJ1C;E6CzlJE;IxCnCA,gCFoRgC;IExQhC,4BwCkC0C;E7CklJ5C;E6C7lJE;IAeM,aAAa;E7CilJrB;E6ChmJE;IAmBM,qB1C2NuB;I0C1NvB,oBAAoB;E7CglJ5B;E6CpmJE;IAuBQ,iB1CuNqB;I0CtNrB,sB1CsNqB;EH03I/B;AACF;;AY1oJI;EiCiCA;IACE,mBAAmB;E7C6mJvB;E6C9mJE;IxCvBA,kCFwQgC;IEpRhC,0BwCyCwC;E7C4mJ1C;E6ClnJE;IxCnCA,gCFoRgC;IExQhC,4BwCkC0C;E7C2mJ5C;E6CtnJE;IAeM,aAAa;E7C0mJrB;E6CznJE;IAmBM,qB1C2NuB;I0C1NvB,oBAAoB;E7CymJ5B;E6C7nJE;IAuBQ,iB1CuNqB;I0CtNrB,sB1CsNqB;EHm5I/B;AACF;;AYnqJI;EiCiCA;IACE,mBAAmB;E7CsoJvB;E6CvoJE;IxCvBA,kCFwQgC;IEpRhC,0BwCyCwC;E7CqoJ1C;E6C3oJE;IxCnCA,gCFoRgC;IExQhC,4BwCkC0C;E7CooJ5C;E6C/oJE;IAeM,aAAa;E7CmoJrB;E6ClpJE;IAmBM,qB1C2NuB;I0C1NvB,oBAAoB;E7CkoJ5B;E6CtpJE;IAuBQ,iB1CuNqB;I0CtNrB,sB1CsNqB;EH46I/B;AACF;;A6CrnJA;ExCpHI,gBwCqHsB;A7CwnJ1B;;A6CznJA;EAII,qB1CoM6B;AHq7IjC;;A6C7nJA;EAOM,sBAAsB;A7C0nJ5B;;A8CpwJE;EACE,c5BuJ8D;E4BtJ9D,yB5BsJ8D;AlBinJlE;;A8CzwJE;EAOM,c5BiJ0D;E4BhJ1D,yBAAyC;A9CswJjD;;A8C9wJE;EAYM,W3CRO;E2CSP,yB5B2I0D;E4B1I1D,qB5B0I0D;AlB4nJlE;;A8CpxJE;EACE,c5BuJ8D;E4BtJ9D,yB5BsJ8D;AlBioJlE;;A8CzxJE;EAOM,c5BiJ0D;E4BhJ1D,yBAAyC;A9CsxJjD;;A8C9xJE;EAYM,W3CRO;E2CSP,yB5B2I0D;E4B1I1D,qB5B0I0D;AlB4oJlE;;A8CpyJE;EACE,c5BuJ8D;E4BtJ9D,yB5BsJ8D;AlBipJlE;;A8CzyJE;EAOM,c5BiJ0D;E4BhJ1D,yBAAyC;A9CsyJjD;;A8C9yJE;EAYM,W3CRO;E2CSP,yB5B2I0D;E4B1I1D,qB5B0I0D;AlB4pJlE;;A8CpzJE;EACE,c5BuJ8D;E4BtJ9D,yB5BsJ8D;AlBiqJlE;;A8CzzJE;EAOM,c5BiJ0D;E4BhJ1D,yBAAyC;A9CszJjD;;A8C9zJE;EAYM,W3CRO;E2CSP,yB5B2I0D;E4B1I1D,qB5B0I0D;AlB4qJlE;;A8Cp0JE;EACE,c5BuJ8D;E4BtJ9D,yB5BsJ8D;AlBirJlE;;A8Cz0JE;EAOM,c5BiJ0D;E4BhJ1D,yBAAyC;A9Cs0JjD;;A8C90JE;EAYM,W3CRO;E2CSP,yB5B2I0D;E4B1I1D,qB5B0I0D;AlB4rJlE;;A8Cp1JE;EACE,c5BuJ8D;E4BtJ9D,yB5BsJ8D;AlBisJlE;;A8Cz1JE;EAOM,c5BiJ0D;E4BhJ1D,yBAAyC;A9Cs1JjD;;A8C91JE;EAYM,W3CRO;E2CSP,yB5B2I0D;E4B1I1D,qB5B0I0D;AlB4sJlE;;A8Cp2JE;EACE,c5BuJ8D;E4BtJ9D,yB5BsJ8D;AlBitJlE;;A8Cz2JE;EAOM,c5BiJ0D;E4BhJ1D,yBAAyC;A9Cs2JjD;;A8C92JE;EAYM,W3CRO;E2CSP,yB5B2I0D;E4B1I1D,qB5B0I0D;AlB4tJlE;;A8Cp3JE;EACE,c5BuJ8D;E4BtJ9D,yB5BsJ8D;AlBiuJlE;;A8Cz3JE;EAOM,c5BiJ0D;E4BhJ1D,yBAAyC;A9Cs3JjD;;A8C93JE;EAYM,W3CRO;E2CSP,yB5B2I0D;E4B1I1D,qB5B0I0D;AlB4uJlE;;A+Cv4JA;E3C+PQ,iCAf6B;E2C9OnC,gB5C+Y+B;E4C9Y/B,cAAc;EACd,W5Caa;E4CZb,yB5CEa;E4CDb,WAAW;A/C04Jb;;AInzJI;E2C7FJ;I3CsQQ,iBAlF6B;EJiuJnC;AACF;;A+Ct5JA;EAUI,W5COW;E4CNX,qBAAqB;A/Cg5JzB;;A+C35JA;EAgBI,YAAY;A/C+4JhB;;A+C/5JA;EAqBI,oBAAoB;A/C84JxB;;A+Cp4JA;EACE,UAAU;EACV,6BAA6B;EAC7B,SAAS;A/Cu4JX;;AgDz6JA;EACE,gB7CihCuC;E6ChhCvC,gBAAgB;E5CyPZ,mBAvE+B;E4C/KnC,2C7CEa;E6CDb,4BAA4B;EAC5B,oC7CkhCmD;E6CjhCnD,6C7CSa;E6CRb,mCAA2B;EAA3B,2BAA2B;EAC3B,UAAU;E3CQR,sBF+TgC;AHqmJpC;;AgDt7JA;EAcI,sB7CqgCsC;AHu6H1C;;AgD17JA;EAkBI,UAAU;AhD46Jd;;AgD97JA;EAsBI,cAAc;EACd,UAAU;AhD46Jd;;AgDn8JA;EA2BI,aAAa;AhD46JjB;;AgDx6JA;EACE,aAAa;EACb,mBAAmB;EACnB,wB7Ci/BwC;E6Ch/BxC,c7CtBgB;E6CuBhB,2C7C7Ba;E6C8Bb,4BAA4B;EAC5B,4C7Cy/BoD;AHk7HtD;;AgDx6JA;EACE,gB7Cy+BwC;AHk8H1C;;AiD/8JA;EAEE,gBAAgB;AjDi9JlB;;AiDn9JA;EAKI,kBAAkB;EAClB,gBAAgB;AjDk9JpB;;AiD78JA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,a9C4yBsC;E8C3yBtC,aAAa;EACb,WAAW;EACX,YAAY;EACZ,gBAAgB;EAGhB,UAAU;AjD88JZ;;AiDv8JA;EACE,kBAAkB;EAClB,WAAW;EACX,c9C8gCuC;E8C5gCvC,oBAAoB;AjDy8JtB;;AiDt8JE;E5B3BI,mClBmkCoD;E8CtiCtD,8B9CoiCmD;AHq6HvD;;AqBl+JM;E4BuBJ;I5BtBM,gBAAgB;ErBs+JtB;AACF;;AiD78JE;EACE,e9CkiCoC;AH86HxC;;AiD58JE;EACE,sB9C+hC2C;AHg7H/C;;AiD38JA;EACE,6B/B+I8D;AlB+zJhE;;AiD/8JA;EAII,gBAAgB;AjD+8JpB;;AiDn9JA;EAQI,gBAAgB;AjD+8JpB;;AiD38JA;EACE,aAAa;EACb,mBAAmB;EACnB,6B/BiI8D;AlB60JhE;;AiD18JA;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,WAAW;EAGX,oBAAoB;EACpB,sB9C7Ea;E8C8Eb,4BAA4B;EAC5B,oC9CrEa;EECX,qBFiU+B;E8CzPjC,UAAU;AjDy8JZ;;AiDr8JA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,a9C8tBsC;E8C7tBtC,YAAY;EACZ,aAAa;EACb,sB9CpFa;AH4hKf;;AiD/8JA;EAUW,UAAU;AjDy8JrB;;AiDn9JA;EAWW,Y9C09B2B;AHk/HtC;;AiDv8JA;EACE,aAAa;EACb,cAAc;EACd,uBAAuB;EACvB,8BAA8B;EAC9B,kB9CyHW;E8CxHX,gC9C1GgB;EEiBd,0Ca8K4D;Eb7K5D,2Ca6K4D;AlBu3JhE;;AiDl9JA;EAUI,kB9CoHS;E8ClHT,8BAA6F;AjD28JjG;;AiDt8JA;EACE,gBAAgB;EAChB,gB9CqR+B;AHorJjC;;AiDp8JA;EACE,kBAAkB;EAGlB,cAAc;EACd,a9CiGW;AHo2Jb;;AiDj8JA;EACE,aAAa;EACb,eAAe;EACf,cAAc;EACd,mBAAmB;EACnB,yBAAyB;EACzB,gBAAgE;EAChE,6B9C5IgB;EE+Bd,8CagK4D;Eb/J5D,6Ca+J4D;AlBm5JhE;;AiD78JA;EAcI,eAAwC;AjDm8J5C;;AiD97JA;EACE,kBAAkB;EAClB,YAAY;EACZ,WAAW;EACX,YAAY;EACZ,gBAAgB;AjDi8JlB;;AYziKI;EqC5BJ;IA2II,gB9C+5BqC;I8C95BrC,oBAAyC;EjD+7J3C;EiDrjKF;IA0HI,+B/BsB4D;ElBw6J9D;EiD5iKF;IAkHI,+B/BkB4D;ElB26J9D;EiDt7JA;IAAY,gB9C84B2B;EH2iIvC;AACF;;AYzjKI;EqCmIF;;IAEE,gB9C04BqC;EHgjIvC;AACF;;AYhkKI;EqC0IF;IAAY,iB9Cs4B4B;EHqjIxC;AACF;;AYzjKI;EqCqIA;IACE,YAAY;IACZ,eAAe;IACf,YAAY;IACZ,SAAS;EjDw7Jb;EiD57JE;IAOI,YAAY;IACZ,SAAS;I5CvMb,gB4CwM4B;EjDw7J9B;EiDj8JE;I5C/LA,gB4C4M4B;EjDu7J9B;EiDp8JE;IAiBI,gBAAgB;EjDs7JtB;EiDv8JE;I5C/LA,gB4CoN4B;EjDq7J9B;AACF;;AYhlKI;EqCqIA;IACE,YAAY;IACZ,eAAe;IACf,YAAY;IACZ,SAAS;EjD+8Jb;EiDn9JE;IAOI,YAAY;IACZ,SAAS;I5CvMb,gB4CwM4B;EjD+8J9B;EiDx9JE;I5C/LA,gB4C4M4B;EjD88J9B;EiD39JE;IAiBI,gBAAgB;EjD68JtB;EiD99JE;I5C/LA,gB4CoN4B;EjD48J9B;AACF;;AYvmKI;EqCqIA;IACE,YAAY;IACZ,eAAe;IACf,YAAY;IACZ,SAAS;EjDs+Jb;EiD1+JE;IAOI,YAAY;IACZ,SAAS;I5CvMb,gB4CwM4B;EjDs+J9B;EiD/+JE;I5C/LA,gB4C4M4B;EjDq+J9B;EiDl/JE;IAiBI,gBAAgB;EjDo+JtB;EiDr/JE;I5C/LA,gB4CoN4B;EjDm+J9B;AACF;;AY9nKI;EqCqIA;IACE,YAAY;IACZ,eAAe;IACf,YAAY;IACZ,SAAS;EjD6/Jb;EiDjgKE;IAOI,YAAY;IACZ,SAAS;I5CvMb,gB4CwM4B;EjD6/J9B;EiDtgKE;I5C/LA,gB4C4M4B;EjD4/J9B;EiDzgKE;IAiBI,gBAAgB;EjD2/JtB;EiD5gKE;I5C/LA,gB4CoN4B;EjD0/J9B;AACF;;AYrpKI;EqCqIA;IACE,YAAY;IACZ,eAAe;IACf,YAAY;IACZ,SAAS;EjDohKb;EiDxhKE;IAOI,YAAY;IACZ,SAAS;I5CvMb,gB4CwM4B;EjDohK9B;EiD7hKE;I5C/LA,gB4C4M4B;EjDmhK9B;EiDhiKE;IAiBI,gBAAgB;EjDkhKtB;EiDniKE;I5C/LA,gB4CoN4B;EjDihK9B;AACF;;AiDviKI;EACE,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,SAAS;AjD0iKf;;AiD9iKI;EAOI,YAAY;EACZ,SAAS;E5CvMb,gB4CwM4B;AjD2iKhC;;AiDpjKI;E5C/LA,gB4C4M4B;AjD2iKhC;;AiDxjKI;EAiBI,gBAAgB;AjD2iKxB;;AiD5jKI;E5C/L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D34KA;EAII,0BlCqF4D;EkCpF5D,ajDq5BqC;EiDp5BrC,YjDm5BoC;EiDl5BpC,gBAAgC;ApD24KpC;;AoDl5KA;EAUM,QAAQ;EACR,oCjD+4BmC;EiD94BnC,sCjDi5BiE;AH2/IvE;;AoDx5KA;EAgBM,UjD8M2B;EiD7M3B,oCjDy4BmC;EiDx4BnC,uBjD3HS;AHugLf;;AoDt3KA;EACE,oBjDmFW;EiDlFX,gBAAgB;EhDiGZ,eAvE+B;EgDvBnC,yBjDm2ByD;EiDl2BzD,gCAAyE;E/CnIvE,0Ca8K4D;Eb7K5D,2Ca6K4D;AlB+0KhE;;AoDh4KA;EAUI,aAAa;ApD03KjB;;AoDt3KA;EACE,kBjDqEW;EiDpEX,cjDxJgB;AHihLlB;;AqDphLA;EACE,kBAAkB;ArDuhLpB;;AqDphLA;EACE,mBAAmB;ArDuhLrB;;AqDphLA;EACE,kBAAkB;EAClB,WAAW;EACX,gBAAgB;ArDuhLlB;;AsD7iLE;EACE,cAAc;EACd,WAAW;EACX,WAAW;AtDgjLf;;AqDzhLA;EACE,kBAAkB;EAClB,aAAa;EACb,WAAW;EACX,WAAW;EACX,mBAAmB;EACnB,mCAA2B;EAA3B,2BAA2B;EhClBvB,sClByrCkF;AHs3IxF;;AqB3iLM;EgCQN;IhCPQ,gBAAgB;ErB+iLtB;AACF;;AqD/hLA;;;EAGE,cAAc;ArDkiLhB;;AqD/hLA;;EAEE,2BAA2B;ArDkiL7B;;AqD/hLA;;EAEE,4BAA4B;ArDkiL9B;;AqD1hLA;EAEI,UAAU;EACV,4BAA4B;EAC5B,eAAe;ArD4hLnB;;AqDhiLA;;;EAUI,UAAU;EACV,UAAU;ArD4hLd;;AqDviLA;;EAgBI,UAAU;EACV,UAAU;EhC5DR,2BlBwrCkC;AHi6IxC;;AqBrlLM;EgCuCN;;IhCtCQ,gBAAgB;ErB0lLtB;AACF;;AqD1hLA;;EAEE,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,UAAU;EAEV,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,UlDglCsC;EkD/kCtC,WlD1Fa;EkD2Fb,kBAAkB;EAClB,YlD8kCqC;EkBjqCjC,8BlBmqCgD;AH68ItD;;AqB5mLM;EgCkEN;;IhCj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E;;AgEj+LM;EAEI,gCAA+D;AhEm+LzE;;AgEr+LM;EAEI,yBAA+D;AhEu+LzE;;AgEz+LM;EAEI,yBAA+D;AhE2+LzE;;AgE7+LM;EAEI,6BAA+D;AhE++LzE;;AgEj/LM;EAEI,8BAA+D;AhEm/LzE;;AgEr/LM;EAEI,wBAA+D;AhEu/LzE;;AgEz/LM;EAEI,+BAA+D;AhE2/LzE;;AgE7/LM;EAEI,wDAA+D;AhE+/LzE;;AgEjgMM;EAEI,8DAA+D;AhEmgMzE;;AgErgMM;EAEI,uDAA+D;AhEugMzE;;AgEzgMM;EAEI,2BAA+D;AhE2gMzE;;AgE7gMM;EAEI,2BAA+D;AhE+gMzE;;AgEjhMM;EAEI,6BAA+D;AhEmhMzE;;AgErhMM;EAEI,6BAA+D;AhEuhMzE;;AgEzhMM;EAEI,0BAA+D;AhE2hMzE;;AgE7hMM;EAEI,mCAA+D;EAA/D,2BAA+D;AhE+hMzE;;AgEjiMM;EAEI,oCAA+D;AhEmiMzE;;AgEriMM;EAEI,oBAA+D;AhEuiMzE;;AgEziMM;EAEI,wCAA+D;AhE2iMzE;;AgE7iMM;EAEI,wBAA+D;AhE+iMzE;;AgEjjMM;EAEI,0CAA+D;AhEmjMzE;;AgErjMM;EAEI,0BAA+D;AhEujMzE;;AgEzjMM;EAEI,2CAA+D;AhE2jMzE;;AgE7jMM;EAEI,2BAA+D;AhE+jMzE;;AgEjkMM;EAEI,yCAA+D;AhEmkMzE;;AgErkMM;EAEI,yBAA+D;AhEukMzE;;AgEzkMM;EAEI,gCAA+D;AhE2kMzE;;AgE7kMM;EAEI,gCAA+D;AhE+kMzE;;AgEjlMM;EAEI,gCAA+D;AhEmlMzE;;AgErlMM;EAEI,gCAA+D;AhEulMzE;;AgEzlMM;EAEI,gCAA+D;AhE2lMzE;;AgE7lMM;EAEI,gCAA+D;AhE+lMzE;;AgEjmMM;EAEI,gCAA+D;AhEmmMzE;;AgErmMM;EAEI,gCAA+D;AhEumMzE;;AgEzmMM;EAEI,6BAA+D;AhE2mMzE;;AgE7mMM;EAEI,qBAA+D;AhE+mMzE;;AgEjnMM;EAEI,qBAA+D;AhEmnMzE;;AgErnMM;EAEI,qBAA+D;AhEunMzE;;AgEznMM;EAEI,sBAA+D;AhE2nMzE;;AgE7nMM;EAEI,sBAA+D;AhE+nMzE;;AgEjoMM;EAEI,0BAA+D;AhEmoMzE;;AgEroMM;EAEI,uBAA+D;AhEuoMzE;;AgEzoMM;EAEI,2BAA+D;AhE2oMzE;;AgE7oMM;EAEI,sBAA+D;AhE+oMzE;;AgEjpMM;EAEI,sBAA+D;AhEmpMzE;;AgErpMM;EAEI,sBAA+D;AhEupMzE;;AgEzpMM;EAEI,uBAA+D;AhE2pMzE;;AgE7pMM;EAEI,uBAA+D;AhE+pMzE;;AgEjqMM;EAEI,2BAA+D;AhEmqMzE;;AgErqMM;EAEI,wBAA+D;AhEuqMzE;;AgEzqMM;EAEI,4BAA+D;AhE2qMzE;;AgE7qMM;EAEI,yBAA+D;AhE+qMzE;;AgEjrMM;EAEI,8BAA+D;AhEmrMzE;;AgErrMM;EAEI,iCAA+D;AhEurMzE;;AgEzrMM;EAEI,sCAA+D;AhE2rMzE;;AgE7rMM;EAEI,yCAA+D;AhE+rMzE;;AgEjsMM;EAEI,uBAA+D;AhEmsMzE;;AgErsMM;EAEI,uBAA+D;AhEusMzE;;AgEzsMM;EAEI,yBAA+D;AhE2sMzE;;AgE7sMM;EAEI,yBAA+D;AhE+sMzE;;AgEjtMM;EAEI,0BAA+D;AhEmtMzE;;AgErtMM;EAEI,4BAA+D;AhEutMzE;;AgEztMM;EAEI,kCAA+D;AhE2tMzE;;AgE7tMM;EAEI,sCAA+D;AhE+tMzE;;AgEjuMM;EAEI,oCAA+D;AhEmuMzE;;AgEruMM;EAEI,kCAA+D;AhEuuMzE;;AgEzuMM;EAEI,yCAA+D;AhE2uMzE;;AgE7uMM;EAEI,wCAA+D;AhE+uMzE;;AgEjvMM;EAEI,wCAA+D;AhEmvMzE;;AgErvMM;EAEI,kCAA+D;AhEuvMzE;;AgEzvMM;EAEI,gCAA+D;AhE2vMzE;;AgE7vMM;EAEI,8BAA+D;AhE+vMzE;;AgEjwMM;EAEI,gCAA+D;AhEmwMzE;;AgErwMM;EAEI,+BAA+D;AhEuwMzE;;AgEzwMM;EAEI,oCAA+D;AhE2wMzE;;AgE7wMM;EAEI,kCAA+D;AhE+wMzE;;AgEjxMM;EAEI,gCAA+D;AhEmxMzE;;AgErxMM;EAEI,uCAA+D;AhEuxMzE;;AgEzxMM;EAEI,sCAA+D;AhE2xMzE;;AgE7xMM;EAEI,i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M;EAEI,2BAA+D;AhE6uNzE;;AgE/uNM;EAEI,8BAA+D;AhEivNzE;;AgEnvNM;EAEI,oCAA+D;AhEqvNzE;;AgEvvNM;EAEI,oCAA+D;AhEyvNzE;;AgE3vNM;EAEI,qCAA+D;AhE6vNzE;;AgE/vNM;EAEI,2BAA+D;AhEiwNzE;;AgEnwNM;EAEI,4BAA+D;AhEqwNzE;;AgEvwNM;EAEI,6BAA+D;AhEywNzE;;AgE3wNM;EAEI,yBAA+D;AhE6wNzE;;AgE/wNM;EAEI,yBAA+D;AhEixNzE;;AgEnxNM;EAEI,yBAA+D;AhEqxNzE;;AgEvxNM;EAEI,yBAA+D;AhEyxNzE;;AgE3xNM;EAEI,yBAA+D;AhE6xNzE;;AgE/xNM;EAEI,yBAA+D;AhEiyNzE;;AgEnyNM;EAEI,yBAA+D;AhEqyNzE;;AgEvyNM;EAEI,yBAA+D;AhEyyNzE;;AgE3yNM;EAEI,sBAA+D;AhE6yNzE;;AgE/yNM;EAEI,yBAA+D;AhEizNzE;;AgEnzNM;EAEI,yBAA+D;AhEqzNzE;;AgEvzNM;EAEI,oCAA+D;AhEyzNzE;;AgE3zNM;EAEI,0CAA+D;AhE6zNzE;;AgE/zNM;EAEI,yBAA+D;AhEi0NzE;;AgEn0NM;EAEI,yBAA+D;AhEq0NzE;;AgEv0NM;EAEI,4BAA+D;AhEy0NzE;;AgE30NM;EAEI,2BAA+D;AhE60NzE;;AgE/0NM;EAEI,yBAA+D;AhEi1NzE;;AgEn1NM;EAEI,oCAA+D;AhEq1NzE;;AgEv1NM;EAEI,oCAA+D;AhEy1NzE;;AgE31NM;EAEI,oCAA+D;AhE61NzE;;AgE/1NM;EAEI,oCAA+D;AhEi2NzE;;AgEn2NM;EAEI,oCAA+D;AhEq2NzE;;AgEv2NM;EAEI,oCAA+D;AhEy2NzE;;AgE32NM;EAEI,oCAA+D;AhE62NzE;;AgE/2NM;EAEI,oCAA+D;AhEi3NzE;;AgEn3NM;EAEI,iCAA+D;AhEq3NzE;;AgEv3NM;EAEI,iCAA+D;AhEy3NzE;;AgE33NM;EAEI,wCAA+D;AhE63NzE;;AgE/3NM;EAEI,+CAA+D;AhEi4NzE;;AgEn4NM;EAEI,8BAA+D;AhEq4NzE;;AgEv4NM;EAEI,8BAA+D;AhEy4NzE;;AgE34N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E23OvE;EgE73OI;IAEI,+BAA+D;EhE83OvE;EgEh4OI;IAEI,8BAA+D;EhEi4OvE;EgEn4OI;IAEI,4BAA+D;EhEo4OvE;EgEt4OI;IAEI,8BAA+D;EhEu4OvE;EgEz4OI;IAEI,4BAA+D;EhE04OvE;EgE54OI;IAEI,2BAA+D;EhE64OvE;EgE/4OI;IAEI,iCAA+D;EhEg5OvE;EgEl5OI;IAEI,gCAA+D;EhEm5OvE;EgEr5OI;IAEI,8BAA+D;EhEs5OvE;EgEx5OI;IAEI,gCAA+D;EhEy5OvE;EgE35OI;IAEI,8BAA+D;EhE45OvE;EgE95OI;IAEI,4BAA+D;EhE+5OvE;EgEj6OI;IAEI,kCAA+D;EhEk6OvE;EgEp6OI;IAEI,iCAA+D;EhEq6OvE;EgEv6OI;IAEI,+BAA+D;EhEw6OvE;EgE16OI;IAEI,iCAA+D;EhE26OvE;EgE76OI;IAEI,+BAA+D;EhE86OvE;EgEh7OI;IAEI,0BAA+D;EhEi7OvE;EgEn7OI;IAEI,gCAA+D;EhEo7OvE;EgEt7OI;IAEI,+BAA+D;EhEu7OvE;EgEz7OI;IAEI,6BAA+D;EhE07OvE;EgE57OI;IAEI,+BAA+D;EhE67OvE;EgE/7OI;IAEI,6BAA+D;EhEg8OvE;EgEl8OI;IAEI,2BAA+D;EhEm8OvE;EgEr8OI;IAEI,4BAA+D;EhEs8OvE;EgEx8OI;IAEI,6BAA+D;EhEy8OvE;AACF;;AYt7OI;EoDtBE;IAEI,sBAA+D;EhE+8OvE;EgEj9OI;IAEI,uBAA+D;EhEk9OvE;EgEp9OI;IAEI,sBAA+D;EhEq9OvE;EgEv9OI;IAEI,wBAA+D;EhEw9OvE;EgE19OI;IAEI,0BAA+D;EhE29OvE;EgE79OI;IAEI,gCAA+D;EhE89OvE;EgEh+OI;IAEI,yBAA+D;EhEi+OvE;EgEn+OI;IAEI,yBAA+D;EhEo+OvE;EgEt+OI;IAEI,6BAA+D;EhEu+OvE;EgEz+OI;IAEI,8BAA+D;EhE0+OvE;EgE5+OI;IAEI,wBAA+D;EhE6+OvE;EgE/+OI;IAEI,+BAA+D;EhEg/OvE;EgEl/OI;IAEI,yBAA+D;EhEm/OvE;EgEr/OI;IAEI,8BAA+D;EhEs/OvE;EgEx/OI;IAEI,iCAA+D;EhEy/OvE;EgE3/OI;IAEI,sCAA+D;EhE4/OvE;EgE9/OI;IAEI,yCAA+D;EhE+/OvE;EgEjgPI;IAEI,uBAA+D;EhEkgPvE;EgEpgPI;IAEI,uBAA+D;EhEqgPvE;EgEvgPI;IAEI,yBAA+D;EhEwgPvE;EgE1gPI;IAEI,yBAA+D;EhE2gPvE;EgE7gPI;IAEI,0BAA+D;EhE8gPvE;EgEhhPI;IAEI,4BAA+D;EhEihPvE;EgEnhPI;IAEI,kCAA+D;EhEohPvE;EgEthPI;IAEI,sCAA+D;EhEuhPvE;EgEzhPI;IAEI,oCAA+D;EhE0hPvE;EgE5hPI;IAEI,kCAA+D;EhE6hPvE;EgE/hPI;IAEI,yCAA+D;EhEgiPvE;EgEliPI;IAEI,wCAA+D;EhEmiPvE;EgEriPI;IAEI,wCAA+D;EhEsiPvE;EgExiPI;IAEI,kCAA+D;EhEyiPvE;EgE3iPI;IAEI,gCAA+D;EhE4iPvE;EgE9iPI;IAEI,8BAA+D;EhE+iPvE;EgEjjPI;IAEI,gCAA+D;EhEkjPvE;EgEpjPI;IAEI,+BAA+D;EhEqjPvE;EgEvjPI;IAEI,oCAA+D;EhEwjPvE;EgE1jPI;IAEI,kCAA+D;EhE2jPvE;EgE7jPI;IAEI,gCAA+D;EhE8jPvE;EgEhkPI;IAEI,uCAA+D;EhEikPvE;EgEnkPI;IAEI,sCAA+D;EhEokPvE;EgEtkPI;IAEI,iCAA+D;EhEukPvE;EgEzkPI;IAEI,2BAA+D;EhE0kPvE;EgE5kPI;IAEI,iCAA+D;EhE6kPvE;EgE/kPI;IAEI,+BAA+D;EhEglPvE;EgEllPI;IAEI,6BAA+D;EhEmlPvE;EgErlPI;IAEI,+BAA+D;EhEslPvE;EgExlPI;IAEI,8BAA+D;EhEylPvE;EgE3lPI;IAEI,oBAA+D;EhE4lPvE;EgE9lPI;IAEI,mBAA+D;EhE+lPvE;EgEjmPI;IAEI,mBAA+D;EhEkmPvE;EgEpmPI;IAEI,mBAA+D;EhEqmPvE;EgEvmPI;IAEI,mBAA+D;EhEwmPvE;EgE1mPI;IAEI,mBAA+D;EhE2mPvE;EgE7mPI;IAEI,mBAA+D;EhE8mPvE;EgEhnPI;IAEI,mBAA+D;EhEinPvE;EgEnnPI;IAEI,oBAA+D;EhEonPvE;EgE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I;IAEI,4BAA+D;EhEs2PvE;EgEx2PI;IAEI,2BAA+D;EhEy2PvE;EgE32PI;IAEI,iCAA+D;EhE42PvE;EgE92PI;IAEI,gCAA+D;EhE+2PvE;EgEj3PI;IAEI,8BAA+D;EhEk3PvE;EgEp3PI;IAEI,gCAA+D;EhEq3PvE;EgEv3PI;IAEI,8BAA+D;EhEw3PvE;EgE13PI;IAEI,4BAA+D;EhE23PvE;EgE73PI;IAEI,kCAA+D;EhE83PvE;EgEh4PI;IAEI,iCAA+D;EhEi4PvE;EgEn4PI;IAEI,+BAA+D;EhEo4PvE;EgEt4PI;IAEI,iCAA+D;EhEu4PvE;EgEz4PI;IAEI,+BAA+D;EhE04PvE;EgE54PI;IAEI,0BAA+D;EhE64PvE;EgE/4PI;IAEI,gCAA+D;EhEg5PvE;EgEl5PI;IAEI,+BAA+D;EhEm5PvE;EgEr5PI;IAEI,6BAA+D;EhEs5PvE;EgEx5PI;IAEI,+BAA+D;EhEy5PvE;EgE35PI;IAEI,6BAA+D;EhE45PvE;EgE95PI;IAEI,2BAA+D;EhE+5PvE;EgEj6PI;IAEI,4BAA+D;EhEk6PvE;EgEp6PI;IAEI,6BAA+D;EhEq6PvE;AACF;;AYl5PI;EoDtBE;IAEI,sBAA+D;EhE26PvE;EgE76PI;IAEI,uBAA+D;EhE86PvE;EgEh7PI;IAEI,sBAA+D;EhEi7PvE;EgEn7PI;IAEI,wBAA+D;EhEo7PvE;EgEt7PI;IAEI,0BAA+D;EhEu7PvE;EgEz7PI;IAEI,gCAA+D;EhE07PvE;EgE57PI;IAEI,yBAA+D;EhE67PvE;EgE/7PI;IAEI,yBAA+D;EhEg8PvE;EgEl8PI;IAEI,6BAA+D;EhEm8PvE;EgEr8PI;IAEI,8BAA+D;EhEs8PvE;EgEx8PI;IAEI,wBAA+D;EhEy8PvE;EgE38PI;IAEI,+BAA+D;EhE48PvE;EgE98PI;IAEI,yBAA+D;EhE+8PvE;EgEj9PI;IAEI,8BAA+D;EhEk9PvE;EgEp9PI;IAEI,iCAA+D;EhEq9PvE;EgEv9PI;IAEI,sCAA+D;EhEw9PvE;EgE19PI;IAEI,yCAA+D;EhE29PvE;EgE79PI;IAEI,uBAA+D;EhE89PvE;EgEh+PI;IAEI,uBAA+D;EhEi+PvE;EgEn+PI;IAEI,yBAA+D;EhEo+PvE;EgEt+PI;IAEI,yBAA+D;EhEu+PvE;EgEz+PI;IAEI,0BAA+D;EhE0+PvE;EgE5+PI;IAEI,4BAA+D;EhE6+PvE;EgE/+PI;IAEI,kCAA+D;EhEg/PvE;EgEl/PI;IAEI,sCAA+D;EhEm/PvE;EgEr/PI;IAEI,oCAA+D;EhEs/PvE;EgEx/PI;IAEI,kCAA+D;EhEy/PvE;EgE3/PI;IAEI,yCAA+D;EhE4/PvE;EgE9/PI;IAEI,wCAA+D;EhE+/PvE;EgEjgQI;IAEI,wCAA+D;EhEkgQvE;EgEpgQI;IAEI,kCAA+D;EhEqgQvE;EgEvgQI;IAEI,gCAA+D;EhEwgQvE;EgE1gQI;IAEI,8BAA+D;EhE2gQvE;EgE7gQI;IAEI,gCAA+D;EhE8gQvE;EgEhhQI;IAEI,+BAA+D;EhEihQvE;EgEnhQI;IAEI,oCAA+D;EhEohQvE;EgEthQI;IAEI,kCAA+D;EhEuhQvE;EgEzhQI;IAEI,gCAA+D;EhE0hQvE;EgE5hQI;IAEI,uCAA+D;EhE6hQvE;EgE/hQI;IAEI,sCAA+D;EhEgiQvE;EgEliQI;IAEI,iCAA+D;EhEmiQvE;EgEriQI;IAEI,2BAA+D;EhEsiQvE;EgExiQI;IAEI,iCAA+D;EhEyiQvE;EgE3iQI;IAEI,+BAA+D;EhE4iQvE;EgE9iQI;IAEI,6BAA+D;EhE+iQvE;EgEjjQI;IAEI,+BAA+D;EhEkjQvE;EgEpjQI;IAEI,8BAA+D;EhEqjQvE;EgEvjQI;IAEI,oBAA+D;EhEwjQvE;EgE1jQI;IAEI,mBAA+D;EhE2jQvE;EgE7jQI;IAEI,mBAA+D;EhE8jQvE;EgEhkQI;IAEI,mBAA+D;EhEikQvE;EgEnkQI;IAEI,mBAA+D;EhEokQvE;EgEtkQI;IAEI,mBAA+D;EhEukQvE;EgEzkQI;IAEI,mBAA+D;EhE0kQvE;EgE5kQI;IAEI,mBAA+D;EhE6kQvE;EgE/kQI;IAEI,oBAA+D;EhEglQvE;EgEllQI;IAEI,0BAA+D;EhEmlQvE;EgErlQI;IAEI,yBAA+D;EhEslQvE;EgExlQI;IAEI,uBAA+D;EhEylQvE;EgE3lQI;IAEI,yBAA+D;EhE4lQvE;EgE9lQI;IAEI,uBA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;EhE80QvE;EgEh1QI;IAEI,gCAA+D;EhEi1QvE;EgEn1QI;IAEI,8BAA+D;EhEo1QvE;EgEt1QI;IAEI,4BAA+D;EhEu1QvE;EgEz1QI;IAEI,kCAA+D;EhE01QvE;EgE51QI;IAEI,iCAA+D;EhE61QvE;EgE/1QI;IAEI,+BAA+D;EhEg2QvE;EgEl2QI;IAEI,iCAA+D;EhEm2QvE;EgEr2QI;IAEI,+BAA+D;EhEs2QvE;EgEx2QI;IAEI,0BAA+D;EhEy2QvE;EgE32QI;IAEI,gCAA+D;EhE42QvE;EgE92QI;IAEI,+BAA+D;EhE+2QvE;EgEj3QI;IAEI,6BAA+D;EhEk3QvE;EgEp3QI;IAEI,+BAA+D;EhEq3QvE;EgEv3QI;IAEI,6BAA+D;EhEw3QvE;EgE13QI;IAEI,2BAA+D;EhE23QvE;EgE73QI;IAEI,4BAA+D;EhE83QvE;EgEh4QI;IAEI,6BAA+D;EhEi4QvE;AACF;;AY92QI;EoDtBE;IAEI,sBAA+D;EhEu4QvE;EgEz4QI;IAEI,uBAA+D;EhE04QvE;EgE54QI;IAEI,sBAA+D;EhE64QvE;EgE/4QI;IAEI,wBAA+D;EhEg5QvE;EgEl5QI;IAEI,0BAA+D;EhEm5QvE;EgEr5QI;IAEI,gCAA+D;EhEs5QvE;EgEx5QI;IAEI,yBAA+D;EhEy5QvE;EgE35QI;IAEI,yBAA+D;EhE45QvE;EgE95QI;IAEI,6BAA+D;EhE+5QvE;EgEj6QI;IAEI,8BAA+D;EhEk6QvE;EgEp6QI;IAEI,wBAA+D;EhEq6QvE;EgEv6QI;IAEI,+BAA+D;EhEw6QvE;EgE16QI;IAEI,yBAA+D;EhE26QvE;EgE76QI;IAEI,8BAA+D;EhE86QvE;EgEh7QI;IAEI,iCAA+D;EhEi7QvE;EgEn7QI;IAEI,sCAA+D;EhEo7QvE;EgEt7QI;IAEI,yCAA+D;EhEu7QvE;EgEz7QI;IAEI,uBAA+D;EhE07QvE;EgE57QI;IAEI,uBAA+D;EhE67QvE;EgE/7QI;IAEI,yBAA+D;EhEg8QvE;EgEl8QI;IAEI,yBAA+D;EhEm8QvE;EgEr8QI;IAEI,0BAA+D;EhEs8QvE;EgEx8QI;IAEI,4BAA+D;EhEy8QvE;EgE38QI;IAEI,kCAA+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xzRI;IAEI,iCAA+D;EhEyzRvE;EgE3zRI;IAEI,+BAA+D;EhE4zRvE;EgE9zRI;IAEI,iCAA+D;EhE+zRvE;EgEj0RI;IAEI,+BAA+D;EhEk0RvE;EgEp0RI;IAEI,0BAA+D;EhEq0RvE;EgEv0RI;IAEI,gCAA+D;EhEw0RvE;EgE10RI;IAEI,+BAA+D;EhE20RvE;EgE70RI;IAEI,6BAA+D;EhE80RvE;EgEh1RI;IAEI,+BAA+D;EhEi1RvE;EgEn1RI;IAEI,6BAA+D;EhEo1RvE;EgEt1RI;IAEI,2BAA+D;EhEu1RvE;EgEz1RI;IAEI,4BAA+D;EhE01RvE;EgE51RI;IAEI,6BAA+D;EhE61RvE;AACF;;AY10RI;EoDtBE;IAEI,sBAA+D;EhEm2RvE;EgEr2RI;IAEI,uBAA+D;EhEs2RvE;EgEx2RI;IAEI,sBAA+D;EhEy2RvE;EgE32RI;IAEI,wBAA+D;EhE42RvE;EgE92RI;IAEI,0BAA+D;EhE+2RvE;EgEj3RI;IAEI,gCAA+D;EhEk3RvE;EgEp3RI;IAEI,yBAA+D;EhEq3RvE;EgEv3RI;IAEI,yBAA+D;EhEw3RvE;EgE13RI;IAEI,6BAA+D;EhE23RvE;EgE73RI;IAEI,8BAA+D;EhE83RvE;EgEh4RI;IAEI,wBAA+D;EhEi4RvE;EgEn4RI;IAEI,+BAA+D;EhEo4RvE;EgEt4RI;IAEI,yBAA+D;EhEu4RvE;EgEz4RI;IAEI,8BAA+D;EhE04RvE;EgE54RI;IAEI,iCAA+D;EhE64RvE;EgE/4RI;IAEI,sCAA+D;EhEg5RvE;EgEl5RI;IAEI,yCAA+D;EhEm5RvE;EgEr5RI;IAEI,uBAA+D;EhEs5RvE;EgEx5RI;IAEI,uBAA+D;EhEy5RvE;EgE35RI;IAEI,yBAA+D;EhE45RvE;EgE95RI;IAEI,yBAA+D;EhE+5RvE;EgEj6RI;IAEI,0BAA+D;EhEk6RvE;EgEp6RI;IAEI,4BAA+D;EhEq6RvE;EgEv6RI;IAEI,kCAA+D;EhEw6RvE;EgE16RI;IAEI,sCAA+D;EhE26RvE;EgE76RI;IAEI,oCAA+D;EhE86RvE;EgEh7RI;IAEI,kCAA+D;EhEi7RvE;EgEn7RI;IAEI,yCAA+D;EhEo7RvE;EgEt7RI;IAEI,wCAA+D;EhEu7RvE;EgEz7RI;IAEI,wCAA+D;EhE07RvE;EgE57RI;IAEI,kCAA+D;EhE67RvE;EgE/7RI;IAEI,gCAA+D;EhEg8RvE;EgEl8RI;IAEI,8BAA+D;EhEm8RvE;EgEr8RI;IAEI,gCAA+D;EhEs8RvE;EgEx8RI;IAEI,+BAA+D;EhEy8RvE;EgE38RI;IAEI,oCAA+D;EhE48RvE;EgE98RI;IAEI,kCAA+D;EhE+8RvE;EgEj9RI;IAEI,gCAA+D;EhEk9RvE;EgEp9RI;IAEI,uCAA+D;EhEq9RvE;EgEv9RI;IAEI,sCAA+D;EhEw9RvE;EgE19RI;IAEI,iCAA+D;EhE29RvE;EgE79RI;IAEI,2BAA+D;EhE89RvE;EgEh+RI;IAEI,iCAA+D;EhEi+RvE;EgEn+RI;IAEI,+BAA+D;EhEo+RvE;EgEt+RI;IAEI,6BAA+D;EhEu+RvE;EgEz+RI;IAEI,+BAA+D;EhE0+RvE;EgE5+RI;IAEI,8BAA+D;EhE6+RvE;EgE/+RI;IAEI,oBAA+D;EhEg/RvE;EgEl/RI;IAEI,mBAA+D;EhEm/RvE;EgEr/RI;IAEI,mBAA+D;EhEs/RvE;EgEx/RI;IAEI,mBAA+D;EhEy/RvE;EgE3/RI;IAEI,mBAA+D;EhE4/RvE;EgE9/RI;IAEI,mBAA+D;EhE+/RvE;EgEjgSI;IAEI,mBAA+D;EhEkgSvE;EgEpgSI;IAEI,mBAA+D;EhEqgSvE;EgEvgSI;IAEI,oBAA+D;EhEwgSvE;EgE1gSI;IAEI,0BAA+D;EhE2gSvE;EgE7gSI;IAEI,yBAA+D;EhE8gSvE;EgEhhSI;IAEI,uBAA+D;EhEihSvE;EgEnhSI;IAEI,yBAA+D;EhEohSvE;EgEthSI;IAEI,uBAA+D;EhEuhSvE;EgEzhSI;IAEI,uBAA+D;EhE0hSvE;EgE5hSI;IAEI,0BAA+D;IAA/D,yBAA+D;EhE8hSvE;EgEhiSI;IAEI,gCAA+D;IAA/D,+BAA+D;EhEkiSvE;EgEpiSI;IAEI,+BAA+D;IAA/D,8BAA+D;EhEsiSvE;EgExiSI;IAEI,6BAA+D;IAA/D,4BAA+D;EhE0iSvE;EgE5iSI;IAEI,+BAA+D;IAA/D,8BAA+D;EhE8iSvE;EgEhjSI;IAEI,6BAA+D;IAA/D,4BAA+D;EhEkjSvE;EgEpjSI;IAEI,6BAA+D;IAA/D,4BAA+D;EhEsjSvE;EgExjSI;IAEI,wBAA+D;IAA/D,2BAA+D;EhE0jSvE;EgE5jSI;IAEI,8BAA+D;IAA/D,iCAA+D;EhE8jSvE;EgEhkSI;IAEI,6BAA+D;IAA/D,gCAA+D;EhEkkSvE;EgEpkSI;IAEI,2BAA+D;IAA/D,8BAA+D;EhEskSvE;EgExkSI;IAEI,6BAA+D;IAA/D,gCAA+D;EhE0kSvE;EgE5kSI;IAEI,2BAA+D;IAA/D,8BAA+D;EhE8kSvE;EgEhlSI;IAEI,2BAA+D;IAA/D,8BAA+D;EhEklSvE;EgEplSI;IAEI,wBAA+D;EhEqlSvE;EgEvlSI;IAEI,8BAA+D;EhEwlSvE;EgE1lSI;IAEI,6BAA+D;EhE2lSvE;EgE7lSI;IAEI,2BAA+D;EhE8lSvE;EgEhmSI;IAEI,6BAA+D;EhEimSvE;EgEnmSI;IAEI,2BAA+D;EhEomSvE;EgEtmSI;IAEI,2BAA+D;EhEumSvE;EgEzmSI;IAEI,0BAA+D;EhE0mSvE;EgE5mSI;IAEI,gCAA+D;EhE6mSvE;EgE/mSI;IAEI,+BAA+D;EhEgnSvE;EgElnSI;IAEI,6BAA+D;EhEmnSvE;EgErnSI;IAEI,+BAA+D;EhEsnSvE;EgExnSI;IAEI,6BAA+D;EhEynSvE;EgE3nSI;IAEI,6BAA+D;EhE4nSvE;EgE9nSI;IAEI,2BAA+D;EhE+nSvE;EgEjoSI;IAEI,iCAA+D;EhEkoSvE;EgEpoSI;IAEI,gCAA+D;EhEqoSvE;EgEvoSI;IAEI,8BAA+D;EhEwoSvE;EgE1oSI;IAEI,gCAA+D;EhE2oSvE;EgE7oSI;IAEI,8BAA+D;EhE8oSvE;EgEhpSI;IAEI,8BAA+D;EhEipSvE;EgEnpSI;IAEI,yBAA+D;EhEopSvE;EgEtpSI;IAEI,+BAA+D;EhEupSvE;EgEzpSI;IAEI,8BAA+D;EhE0pSvE;EgE5pSI;IAEI,4BAA+D;EhE6pSvE;EgE/pSI;IAEI,8BAA+D;EhEgqSvE;EgElqSI;IAEI,4BAA+D;EhEmqSvE;EgErqSI;IAEI,4BAA+D;EhEsqSvE;EgExqSI;IAEI,qBAA+D;EhEyqSvE;EgE3qSI;IAEI,2BAA+D;EhE4qSvE;EgE9qSI;IAEI,0BAA+D;EhE+qSvE;EgEjrSI;IAEI,wBAA+D;EhEkrSvE;EgEprSI;IAEI,0BAA+D;EhEqrSvE;EgEvrSI;IAEI,wBAA+D;EhEwrSvE;EgE1rSI;IAEI,2BAA+D;IAA/D,0BAA+D;EhE4rSvE;EgE9rSI;IAEI,iCAA+D;IAA/D,gCAA+D;EhEgsSvE;EgElsSI;IAEI,gCAA+D;IAA/D,+BAA+D;EhEosSvE;EgEtsSI;IAEI,8BAA+D;IAA/D,6BAA+D;EhEwsSvE;EgE1sSI;IAEI,gCAA+D;IAA/D,+BAA+D;EhE4sSvE;EgE9sSI;IAEI,8BAA+D;IAA/D,6BAA+D;EhEgtSvE;EgEltSI;IAEI,yBAA+D;IAA/D,4BAA+D;EhEotSvE;EgEttSI;IAEI,+BAA+D;IAA/D,kCAA+D;EhEwtSvE;EgE1tSI;IAEI,8BAA+D;IAA/D,iCAA+D;EhE4tSvE;EgE9tSI;IAEI,4BAA+D;IAA/D,+BAA+D;EhEguSvE;EgEluSI;IAEI,8BAA+D;IAA/D,iCAA+D;EhEouSvE;EgEtuSI;IAEI,4BAA+D;IAA/D,+BAA+D;EhEwuSvE;EgE1uSI;IAEI,yBAA+D;EhE2uSvE;EgE7uSI;IAEI,+BAA+D;EhE8uSvE;EgEhvSI;IAEI,8BAA+D;EhEivSvE;EgEnvSI;IAEI,4BAA+D;EhEovSvE;EgEtvSI;IAEI,8BAA+D;EhEuvSvE;EgEzvSI;IAEI,4BAA+D;EhE0vSvE;EgE5vSI;IAEI,2BAA+D;EhE6vSvE;EgE/vSI;IAEI,iCAA+D;EhEgwSvE;EgElwSI;IAEI,gCAA+D;EhEmwSvE;EgErwSI;IAEI,8BAA+D;EhEswSvE;EgExwSI;IAEI,gCAA+D;EhEywSvE;EgE3wSI;IAEI,8BAA+D;EhE4wSvE;EgE9wSI;IAEI,4BAA+D;EhE+wSvE;EgEjxSI;IAEI,kCAA+D;EhEkxSvE;EgEpxSI;IAEI,iCAA+D;EhEqxSvE;EgEvxSI;IAEI,+BAA+D;EhEwxSvE;EgE1xSI;IAEI,iCAA+D;EhE2xSvE;EgE7xSI;IAEI,+BAA+D;EhE8xSvE;EgEhySI;IAEI,0BAA+D;EhEiySvE;EgEnySI;IAEI,gCAA+D;EhEoySvE;EgEtySI;IAEI,+BAA+D;EhEuySvE;EgEzySI;IAEI,6BAA+D;EhE0ySvE;EgE5ySI;IAEI,+BAA+D;EhE6ySvE;EgE/ySI;IAEI,6BAA+D;EhEgzSvE;EgElzSI;IAEI,2BAA+D;EhEmzSvE;EgErzSI;IAEI,4BAA+D;EhEszSvE;EgExzSI;IAEI,6BAA+D;EhEyzSvE;AACF;;AiE/zSA;EDGM;IAEI,wBAA+D;EhE+zSvE;EgEj0SI;IAEI,0BAA+D;EhEk0SvE;EgEp0SI;IAEI,gCAA+D;EhEq0SvE;EgEv0SI;IAEI,yBAA+D;EhEw0SvE;EgE10SI;IAEI,yBAA+D;EhE20SvE;EgE70SI;IAEI,6BAA+D;EhE80SvE;EgEh1SI;IAEI,8BAA+D;EhEi1SvE;EgEn1SI;IAEI,wBAA+D;EhEo1SvE;EgEt1SI;IAEI,+BAA+D;EhEu1SvE;AACF","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v5.0.0-alpha1 (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/master/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-alpha1 (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/master/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: #28a745;\n --bs-teal: #20c997;\n --bs-cyan: #17a2b8;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #28a745;\n --bs-info: #17a2b8;\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\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 width: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\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: 1 0 100%;\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: #b3cdf3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #acc4e9;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #afc9ee;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #acc4e9;\n}\n\n.table-secondary {\n --bs-table-bg: #d6d8db;\n --bs-table-striped-bg: #cdcfd2;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #c4c6c9;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #c8cbce;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #c4c6c9;\n}\n\n.table-success {\n --bs-table-bg: #c3e6cb;\n --bs-table-striped-bg: #bbdcc3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #b3d3bb;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #b7d8bf;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #b3d3bb;\n}\n\n.table-info {\n --bs-table-bg: #bee5eb;\n --bs-table-striped-bg: #b6dbe1;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #aed2d8;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #b2d7dc;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #aed2d8;\n}\n\n.table-warning {\n --bs-table-bg: #ffeeba;\n --bs-table-striped-bg: #f4e4b3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #e9daac;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #eedfaf;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #e9daac;\n}\n\n.table-danger {\n --bs-table-bg: #f5c6cb;\n --bs-table-striped-bg: #eabec3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #e0b6bb;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #e5babf;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #e0b6bb;\n}\n\n.table-light {\n --bs-table-bg: #f8f9fa;\n --bs-table-striped-bg: #edeef0;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #e3e4e5;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #e8e9ea;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #e3e4e5;\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@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.table-responsive {\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 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.2rem 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.2rem 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.75em;\n margin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n float: left;\n margin-left: -1.75em;\n}\n\n.form-check-input {\n width: 1.25em;\n height: 1.25em;\n margin-top: 0.125em;\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.2rem 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.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.2rem 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.4rem;\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.2rem 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.2rem 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.2rem 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.2rem;\n margin-left: 0.2rem;\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: #28a745;\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(40, 167, 69, 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: #28a745;\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='%2328a745' 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: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 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: #28a745;\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='%2328a745' 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: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\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: #28a745;\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: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 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.2rem 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.2rem 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.2rem 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.2rem 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:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem 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-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);\n}\n\n.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-primary:active:focus, .btn-primary.active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem 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-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.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-secondary:active:focus, .btn-secondary.active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem 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: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:active:focus, .btn-success.active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success:disabled, .btn-success.disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:active:focus, .btn-info.active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info:disabled, .btn-info.disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:active:focus, .btn-warning.active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning:disabled, .btn-warning.disabled {\n color: #212529;\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-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.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-danger:active:focus, .btn-danger.active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem 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: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light:active, .btn-light.active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:active:focus, .btn-light.active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light:disabled, .btn-light.disabled {\n color: #212529;\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-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.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-dark:active:focus, .btn-dark.active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem 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-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);\n}\n\n.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-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem 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-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.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-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem 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: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success:disabled, .btn-outline-success.disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info:disabled, .btn-outline-info.disabled {\n color: #17a2b8;\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: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem 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-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.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-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem 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: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem 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-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.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-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem 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 #e9ecef;\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.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:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\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:not(:first-child),\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.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\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.2rem;\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 > .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}\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 outline: 0;\n box-shadow: 0 0 0 0.2rem 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.25em 0.5em;\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: 3.5rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 1rem 1rem;\n color: inherit;\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: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info .alert-link {\n color: #062c33;\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: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\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.close {\n font-size: calc(1.275rem + 0.3vw);\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n@media (min-width: 1200px) {\n .close {\n font-size: 1.5rem;\n }\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:hover, .close:focus {\n opacity: .75;\n}\n\n.close:disabled, .close.disabled {\n pointer-events: none;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\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 backdrop-filter: blur(10px);\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.25rem 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}\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 max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\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: flex-start;\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 .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem 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 max-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@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.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.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: 20px;\n height: 20px;\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 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 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 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%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@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: #28a745;\n}\n\n.link-success:hover, .link-success:focus {\n color: #19692c;\n}\n\n.link-info {\n color: #17a2b8;\n}\n\n.link-info:hover, .link-info:focus {\n color: #0f6674;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ba8b00;\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: #cbd3da;\n}\n\n.link-dark {\n color: #343a40;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #121416;\n}\n\n.embed-responsive {\n position: relative;\n width: 100%;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 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.sr-only,\n.sr-only-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-none {\n display: none !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.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.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: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !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.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: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !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: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: none !important;\n }\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}\n\n/*# sourceMappingURL=bootstrap.css.map */",":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// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\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. Matches default `<td>` alignment by inheriting `text-align`.\n// 2. Fix alignment for Safari\n\nth {\n text-align: inherit; // 1\n text-align: -webkit-match-parent; // 2\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-blacklist\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// 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: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !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-800 !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// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\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: 3 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $gray-900 !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 8) !default;\n$blue-200: tint-color($blue, 6) !default;\n$blue-300: tint-color($blue, 4) !default;\n$blue-400: tint-color($blue, 2) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 2) !default;\n$blue-700: shade-color($blue, 4) !default;\n$blue-800: shade-color($blue, 6) !default;\n$blue-900: shade-color($blue, 8) !default;\n\n$indigo-100: tint-color($indigo, 8) !default;\n$indigo-200: tint-color($indigo, 6) !default;\n$indigo-300: tint-color($indigo, 4) !default;\n$indigo-400: tint-color($indigo, 2) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 2) !default;\n$indigo-700: shade-color($indigo, 4) !default;\n$indigo-800: shade-color($indigo, 6) !default;\n$indigo-900: shade-color($indigo, 8) !default;\n\n$purple-100: tint-color($purple, 8) !default;\n$purple-200: tint-color($purple, 6) !default;\n$purple-300: tint-color($purple, 4) !default;\n$purple-400: tint-color($purple, 2) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 2) !default;\n$purple-700: shade-color($purple, 4) !default;\n$purple-800: shade-color($purple, 6) !default;\n$purple-900: shade-color($purple, 8) !default;\n\n$pink-100: tint-color($pink, 8) !default;\n$pink-200: tint-color($pink, 6) !default;\n$pink-300: tint-color($pink, 4) !default;\n$pink-400: tint-color($pink, 2) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 2) !default;\n$pink-700: shade-color($pink, 4) !default;\n$pink-800: shade-color($pink, 6) !default;\n$pink-900: shade-color($pink, 8) !default;\n\n$red-100: tint-color($red, 8) !default;\n$red-200: tint-color($red, 6) !default;\n$red-300: tint-color($red, 4) !default;\n$red-400: tint-color($red, 2) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 2) !default;\n$red-700: shade-color($red, 4) !default;\n$red-800: shade-color($red, 6) !default;\n$red-900: shade-color($red, 8) !default;\n\n$orange-100: tint-color($orange, 8) !default;\n$orange-200: tint-color($orange, 6) !default;\n$orange-300: tint-color($orange, 4) !default;\n$orange-400: tint-color($orange, 2) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 2) !default;\n$orange-700: shade-color($orange, 4) !default;\n$orange-800: shade-color($orange, 6) !default;\n$orange-900: shade-color($orange, 8) !default;\n\n$yellow-100: tint-color($yellow, 8) !default;\n$yellow-200: tint-color($yellow, 6) !default;\n$yellow-300: tint-color($yellow, 4) !default;\n$yellow-400: tint-color($yellow, 2) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 2) !default;\n$yellow-700: shade-color($yellow, 4) !default;\n$yellow-800: shade-color($yellow, 6) !default;\n$yellow-900: shade-color($yellow, 8) !default;\n\n$green-100: tint-color($green, 8) !default;\n$green-200: tint-color($green, 6) !default;\n$green-300: tint-color($green, 4) !default;\n$green-400: tint-color($green, 2) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 2) !default;\n$green-700: shade-color($green, 4) !default;\n$green-800: shade-color($green, 6) !default;\n$green-900: shade-color($green, 8) !default;\n\n$teal-100: tint-color($teal, 8) !default;\n$teal-200: tint-color($teal, 6) !default;\n$teal-300: tint-color($teal, 4) !default;\n$teal-400: tint-color($teal, 2) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 2) !default;\n$teal-700: shade-color($teal, 4) !default;\n$teal-800: shade-color($teal, 6) !default;\n$teal-900: shade-color($teal, 8) !default;\n\n$cyan-100: tint-color($cyan, 8) !default;\n$cyan-200: tint-color($cyan, 6) !default;\n$cyan-300: tint-color($cyan, 4) !default;\n$cyan-400: tint-color($cyan, 2) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 2) !default;\n$cyan-700: shade-color($cyan, 4) !default;\n$cyan-800: shade-color($cyan, 6) !default;\n$cyan-900: shade-color($cyan, 8) !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-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// 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// 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-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: null !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !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: 1rem !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\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// scss-docs-start embed-responsive-aspect-ratios\n$embed-responsive-aspect-ratios: (\n \"21by9\": (\n x: 21,\n y: 9\n ),\n \"16by9\": (\n x: 16,\n y: 9\n ),\n \"4by3\": (\n x: 4,\n y: 3\n ),\n \"1by1\": (\n x: 1,\n y: 1\n )\n) !default;\n// scss-docs-end embed-responsive-aspect-ratios\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\", 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(--bs-font-sans-serif) !default;\n$font-family-code: var(--bs-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$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-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-seperator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n\n$table-variants: (\n \"primary\": color-level($primary, $table-bg-level),\n \"secondary\": color-level($secondary, $table-bg-level),\n \"success\": color-level($success, $table-bg-level),\n \"info\": color-level($info, $table-bg-level),\n \"warning\": color-level($warning, $table-bg-level),\n \"danger\": color-level($danger, $table-bg-level),\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: .2rem !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: $gray-700 !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: lighten($component-active-bg, 25%) !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: 1.25em !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-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-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\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: lighten($component-active-bg, 35%) !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\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-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-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: $gray-200 !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: darken($gray-900, 5%) !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\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-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\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: darken($popover-bg, 3%) !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: .25rem !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: .25em !default;\n$badge-padding-x: .5em !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-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\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-level: -9 !default;\n$list-group-item-color-level: 6 !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: 20px !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 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 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 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></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\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$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\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-blacklist\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) {\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) {\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) {\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) {\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) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($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($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\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. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `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(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .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 $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $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: 1 0 100%;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1); // stylelint-disable-line function-blacklist\n margin-right: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-blacklist\n margin-left: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-blacklist\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-blacklist\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-blacklist\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-seperator-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 $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $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","// 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@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// Request a color level\n// scss-docs-start color-level\n@function color-level($color: $primary, $level: 0) {\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n// scss-docs-end color-level\n\n@function tint-color($color, $level) {\n @return mix(white, $color, $level * $theme-color-interval);\n}\n\n@function shade-color($color, $level) {\n @return mix(black, $color, $level * $theme-color-interval);\n}\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","//\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-blacklist\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-blacklist\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",".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-padding-y $input-padding-x;\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\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 &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\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 &.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: darken($background, 7.5%),\n $hover-border: darken($border, 10%),\n $hover-color: color-contrast($hover-background),\n $active-background: darken($background, 10%),\n $active-border: darken($border, 12.5%),\n $active-color: color-contrast($active-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 &: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 &: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: $color;\n background-color: $background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $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 &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\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 0;\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","@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 // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\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 > .btn:not(:first-child),\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\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\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 text-decoration: if($link-decoration == none, null, none);\n @include transition($nav-link-transition);\n\n &:hover,\n &:focus {\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 &#{$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-blacklist\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\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-blacklist\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\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\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 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: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\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",".close {\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n &:hover {\n color: $close-color;\n text-decoration: none;\n }\n\n &:hover,\n &:focus {\n opacity: .75;\n }\n\n &:disabled,\n &.disabled {\n pointer-events: none;\n }\n}\n\n// Additional properties 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// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n",".toast {\n max-width: $toast-max-width;\n overflow: hidden; // cheap rounded corners on nested items\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 backdrop-filter: blur(10px);\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}\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 max-height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\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: flex-start; // so the close btn always stays on the upper right corner\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 .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) 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 max-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 $next-breakpoint: breakpoint-next($breakpoint);\n $postfix: if(breakpoint-max($breakpoint, $grid-breakpoints) == null, \"\", \"-#{$next-breakpoint}-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","// 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-blacklist\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-blacklist\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: darken($value, $emphasized-link-hover-darken-percentage);\n }\n }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n width: 100%;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n}\n\n@each $key, $ratio in $embed-responsive-aspect-ratios {\n .embed-responsive-#{$key} {\n &::before {\n padding-top: percentage(map-get($ratio, y) / map-get($ratio, x));\n }\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// Screenreaders\n//\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n @include sr-only();\n}\n","// stylelint-disable declaration-no-important\n\n// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only {\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 sr-only-focusable {\n &:not(:focus) {\n @include sr-only();\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","bootstrap.css","../../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/_functions.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/_embed.scss","../../scss/helpers/_position.scss","../../scss/helpers/_screenreaders.scss","../../scss/mixins/_screen-reader.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,kBAAoB;EAApB,oBAAoB;EAApB,oBAAoB;EAApB,kBAAoB;EAApB,iBAAoB;EAApB,oBAAoB;EAApB,oBAAoB;EAApB,mBAAoB;EAApB,kBAAoB;EAApB,kBAAoB;EAApB,gBAAoB;EAApB,kBAAoB;EAApB,uBAAoB;EAIpB,qBAAoB;EAApB,uBAAoB;EAApB,qBAAoB;EAApB,kBAAoB;EAApB,qBAAoB;EAApB,oBAAoB;EAApB,mBAAoB;EAApB,kBAAoB;EAKtB,kMAAqB;EACrB,yGAAoB;EACpB,yFAAc;ADiBhB;;AEhBA;;;EAGE,sBAAsB;AFmBxB;;AEEA;EACE,SAAS;EACT,sCC2VqD;ECzIjD,eAvE+B;EFzInC,gBCqW+B;EDpW/B,gBC0W+B;EDzW/B,cC7BgB;ED+BhB,sBCxCa;EDyCb,8BAA8B;EAC9B,6CChCa;AHgCf;;AAEA;EEYE,qBAAqB;AFVvB;;AEoBA;EACE,cAAsB;EACtB,cC4XmC;ED3XnC,8BAA8B;EAC9B,SAAS;EACT,aC2X+B;AH5YjC;;AEoBA;EACE,WC4P+B;AH7QjC;;AE2BA;EACE,aAAa;EACb,qBCmUuC;EDhUvC,gBCmU+B;EDlU/B,gBCmU+B;AH7VjC;;AE8BA;EEyJQ,iCAf6B;AJpKrC;;AIiBI;EFSJ;IEgKQ,iBAlF6B;EJnGnC;AACF;;AEyBA;EEoJQ,iCAf6B;AJ1JrC;;AIOI;EFcJ;IE2JQ,eAlF6B;EJzFnC;AACF;;AEoBA;EE+IQ,+BAf6B;AJhJrC;;AIHI;EFmBJ;IEsJQ,kBAlF6B;EJ/EnC;AACF;;AEeA;EE0IQ,iCAf6B;AJtIrC;;AIbI;EFwBJ;IEiJQ,iBAlF6B;EJrEnC;AACF;;AEUA;EEiIM,kBAvE+B;AJhErC;;AEWA;EE4HM,eAvE+B;AJ5DrC;;AEkBA;EACE,aAAa;EACb,mBCuI8B;AHtJhC;;AE0BA;;EAEE,0BAA0B;EAC1B,yCAAiC;EAAjC,iCAAiC;EACjC,YAAY;EACZ,sCAA8B;EAA9B,8BAA8B;AFvBhC;;AE6BA;EACE,mBAAmB;EACnB,kBAAkB;EAClB,oBAAoB;AF1BtB;;AEgCA;;EAEE,kBAAkB;AF7BpB;;AEgCA;;;EAGE,aAAa;EACb,mBAAmB;AF7BrB;;AEgCA;;;;EAIE,gBAAgB;AF7BlB;;AEgCA;EACE,gBCkN+B;AH/OjC;;AEkCA;EACE,oBAAoB;EACpB,cAAc;AF/BhB;;AEqCA;EACE,gBAAgB;AFlClB;;AE0CA;;EAEE,mBC2LkC;AHlOpC;;AE+CA;EE4BM,kBAvE+B;AJArC;;AEkDA;EACE,cCwOgC;EDvOhC,yBC+OmC;AH9RrC;;AEwDA;;EAEE,kBAAkB;EEQd,iBAvE+B;EFiEnC,cAAc;EACd,wBAAwB;AFrD1B;;AEwDA;EAAM,cAAc;AFpDpB;;AEqDA;EAAM,UAAU;AFjDhB;;AEsDA;EACE,cC/Ne;EDgOf,0BCKiD;AHxDnD;;AEiDA;EAKI,cCG8D;AHrDlE;;AE4DA;EAGI,cAAc;EACd,qBAAqB;AF3DzB;;AEkEA;;;;EAIE,qCCwGoD;EC1IhD,cAvE+B;AJ2CrC;;AEwEA;EACE,cAAc;EACd,aAAa;EACb,mBAAmB;EACnB,cAAc;EEhDV,kBAvE+B;EF0HnC,6BAA6B;AFtE/B;;AE+DA;EE5CM,kBAvE+B;EF+HjC,cAAc;EACd,kBAAkB;AFtEtB;;AE0EA;EE7DM,kBAvE+B;EFsInC,cCtRe;EDuRf,qBAAqB;AFvEvB;;AE0EE;EACE,cAAc;AFvElB;;AE2EA;EACE,sBCk6BuC;EC3+BnC,kBAvE+B;EFkJnC,WC/Ta;EDgUb,yBCvTgB;EEEd,qBFgU+B;AHlFnC;;AEmEA;EAQI,UAAU;EEhFR,cAvE+B;EFyJjC,gBCoE6B;AH3IjC;;AEgFA;EACE,gBAAgB;AF7ElB;;AEmFA;;EAEE,sBAAsB;AFhFxB;;AEwFA;EACE,oBAAoB;EACpB,yBAAyB;AFrF3B;;AEwFA;EACE,mBCkHiC;EDjHjC,sBCiHiC;EDhHjC,cClWgB;EDmWhB,gBAAgB;AFrFlB;;AE2FA;EACE,mBAAmB;EACnB,gCAAgC;AFxFlC;;AE2FA;;;;;;EAME,qBAAqB;EACrB,mBAAmB;EACnB,eAAe;AFxFjB;;AEgGA;EACE,qBAAqB;AF7FvB;;AEmGA;EAEE,gBAAgB;AFjGlB;;AEwGA;EACE,mBAAmB;EACnB,0CAA0C;AFrG5C;;AE0GA;;;;;EAKE,SAAS;EACT,oBAAoB;EE7KhB,kBAvE+B;EFsPnC,oBAAoB;AFvGtB;;AE4GA;;EAEE,iBAAiB;AFzGnB;;AE8GA;;EAEE,oBAAoB;AF3GtB;;AAEA;EEgHE,eAAe;AF9GjB;;AEoHA;EACE,iBAAiB;AFjHnB;;AAEA;EEsHE,aAAa;AFpHf;;AE4HA;;;;EAIE,0BAA0B;AFzH5B;;AEqHA;;;;EAQM,eAAe;AFtHrB;;AE6HA;EACE,UAAU;EACV,kBAAkB;AF1HpB;;AE+HA;EACE,gBAAgB;AF5HlB;;AEsIA;EACE,YAAY;EACZ,UAAU;EACV,SAAS;EACT,SAAS;AFnIX;;AE4IA;EACE,WAAW;EACX,WAAW;EACX,UAAU;EACV,qBC5DiC;EC5M3B,iCAf6B;EF0RnC,oBAAoB;EACpB,mBAAmB;AF1IrB;;AIpSI;EFsaJ;IE7PQ,iBAlF6B;EJkNnC;AACF;;AE4HA;EAWI,WAAW;AFnIf;;AE0IA;;;;;;;EAOE,UAAU;AFvIZ;;AE0IA;EACE,YAAY;AFvId;;AAEA;EE+IE,oBAAoB;EACpB,6BAA6B;AF7I/B;;AEkJA;EACE,wBAAwB;AF/I1B;;AEoJA;EACE,UAAU;AFjJZ;;AEuJA;EACE,aAAa;EACb,0BAA0B;AFpJ5B;;AEyJA;EACE,qBAAqB;AFtJvB;;AE2JA;EACE,SAAS;AFxJX;;AE+JA;EACE,kBAAkB;EAClB,eAAe;AF5JjB;;AEoKA;EACE,wBAAwB;AFjK1B;;AAEA;EEwKE,wBAAwB;AFtK1B;;AMpaA;EF+NM,kBAvE+B;EEtJnC,gBHyZ+B;AHcjC;;AMlaE;EF4NM,iCAf6B;EE3MjC,gBH6YqB;EG5YrB,gBH+X6B;AHsCjC;;AI9WI;EE1DF;IFmOM,eAlF6B;EJ4RnC;AACF;;AM9aE;EF4NM,iCAf6B;EE3MjC,gBH6YqB;EG5YrB,gBH+X6B;AHkDjC;;AI1XI;EE1DF;IFmOM,iBAlF6B;EJwSnC;AACF;;AM1bE;EF4NM,iCAf6B;EE3MjC,gBH6YqB;EG5YrB,gBH+X6B;AH8DjC;;AItYI;EE1DF;IFmOM,eAlF6B;EJoTnC;AACF;;AMtcE;EF4NM,iCAf6B;EE3MjC,gBH6YqB;EG5YrB,gBH+X6B;AH0EjC;;AIlZI;EE1DF;IFmOM,iBAlF6B;EJgUnC;AACF;;AMldE;EF4NM,iCAf6B;EE3MjC,gBH6YqB;EG5YrB,gBH+X6B;AHsFjC;;AI9ZI;EE1DF;IFmOM,eAlF6B;EJ4UnC;AACF;;AM9dE;EF4NM,iCAf6B;EE3MjC,gBH6YqB;EG5YrB,gBH+X6B;AHkGjC;;AI1aI;EE1DF;IFmOM,iBAlF6B;EJwVnC;AACF;;AMpdA;ECrDE,eAAe;EACf,gBAAgB;AP6gBlB;;AMpdA;EC1DE,eAAe;EACf,gBAAgB;APkhBlB;;AMtdA;EACE,qBAAqB;ANydvB;;AM1dA;EAII,oBHgZ+B;AH0EnC;;AMhdA;EF4KM,kBAvE+B;EEnGnC,yBAAyB;ANmd3B;;AM/cA;EACE,mBHsJW;ECeP,kBAvE+B;AJqXrC;;AMpdA;EAKI,gBAAgB;ANmdpB;;AM/cA;EACE,iBH6IW;EG5IX,mBH4IW;ECeP,kBAvE+B;EElFnC,cHrFgB;AHuiBlB;;AMtdA;EAOI,qBAAqB;ANmdzB;;AQjjBA;ECIE,eAAe;EAGf,YAAY;AT+iBd;;AQhjBA;EACE,gBLooCwC;EKnoCxC,sBLRa;EKSb,yBLNgB;EEQd,sBF+TgC;EMtUlC,eAAe;EAGf,YAAY;ATwjBd;;AQ1iBA;EAEE,qBAAqB;AR4iBvB;;AQziBA;EACE,qBAA0B;EAC1B,cAAc;AR4iBhB;;AQziBA;EJqNM,kBAvE+B;EI5InC,cL3BgB;AHukBlB;;AU9kBE;;;;;;;ECHA,WAAW;EACX,mBRmUwB;EQlUxB,kBRkUwB;EQjUxB,kBAAkB;EAClB,iBAAiB;AX2lBnB;;AYniBI;EF5CE;IACE,gBP4RG;EHuTT;AACF;;AYziBI;EF5CE;IACE,gBP6RG;EH4TT;AACF;;AY/iBI;EF5CE;IACE,gBP8RG;EHiUT;AACF;;AYrjBI;EF5CE;IACE,iBP+RI;EHsUV;AACF;;AY3jBI;EF5CE;IACE,iBPgSK;EH2UX;AACF;;Aa3nBE;ECAA,qBAAc;EACd,gBAAc;EACd,aAAa;EACb,cAAc;EACd,eAAe;EACf,yCAAyC;EACzC,2CAA2C;EAC3C,0CAA0C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8D;EdsE1D,kBAvE+B;AJkuDrC;;AiBv3DA;EACE,gCCqJ8D;EDpJ9D,mCCoJ8D;EdsE1D,mBAvE+B;AJwuDrC;;AmBx5DA;EACE,mBhB+kB4C;ECzVxC,kBAvE+B;Ee3KnC,chBIgB;AHq5DlB;;AoB95DA;EACE,cAAc;EACd,WAAW;EACX,uCF8K8D;EE7K9D,yBjB2gBkC;ECxR9B,eAvE+B;EgBzKnC,gBjBqY+B;EiBpY/B,gBjB0Y+B;EiBzY/B,cjBCgB;EiBAhB,sBjBPa;EiBQb,4BAA4B;EAC5B,yBjBLgB;EiBMhB,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;EfCd,sBF+TgC;EkBjU9B,wElB+nB4F;AHoyClG;;AqB/5DM;EDhBN;ICiBQ,gBAAgB;ErBm6DtB;AACF;;AoBr7DA;EAuBI,cjBbc;EiBcd,sBjBrBW;EiBsBX,qBjBgmBsE;EiB/lBtE,UAAU;EAKR,iDjBFW;AHg6DjB;;AoB77DA;EAqCI,cjB5Bc;EiB8Bd,UAAU;ApB25Dd;;AoBl8DA;EAqCI,cjB5Bc;EiB8Bd,UAAU;ApB25Dd;;AoBl8DA;EAqCI,cjB5Bc;EiB8Bd,UAAU;ApB25Dd;;AoBl8DA;EAqCI,cjB5Bc;EiB8Bd,UAAU;ApB25Dd;;AoBl8DA;EAiDI,yBjB5Cc;EiB+Cd,UAAU;ApBm5Dd;;AoB14DA;EACE,cAAc;EACd,WAAW;EACX,mBAA2B;EAC3B,gBAAgB;EAChB,gBjBgV+B;EiB/U/B,cjBvDgB;EiBwDhB,6BAA6B;EAC7B,yBAAyB;EACzB,mBAAmC;ApB64DrC;;AoBt5DA;EAaI,gBAAgB;EAChB,eAAe;ApB64DnB;;AoBl4DA;EACE,sCF0F8D;EEzF9D,uBjBkciC;ECnS7B,mBAvE+B;EClKjC,qBFgU+B;AHipDnC;;AoBl4DA;EACE,oCFmF8D;EElF9D,oBjB+bgC;ECvS5B,kBAvE+B;EClKjC,qBFiU+B;AHupDnC;;AoBl4DA;EACE,eAAe;EACf,iBjBwamC;AH69CrC;;AoBl4DA;Ef3FI,sBF+TgC;AHkqDpC;;AoBl4DA;Ef/FI,sBF+TgC;AHsqDpC;;AsBl/DA;EACE,cAAc;EACd,WAAW;EACX,mCJ6K8D;EI5K9D,0CnB0gBkC;ECxR9B,eAvE+B;EkBxKnC,gBnBoY+B;EmBnY/B,gBnByY+B;EmBxY/B,cnBAgB;EmBChB,sBAAsB;EACtB,sBnBTa;EmBUb,iPJgEgF;EI/DhF,4BAA4B;EAC5B,yCnB4rBqE;EmB3rBrE,0BnB4rB2C;EmB3rB3C,yBnBVgB;EEOd,sBF+TgC;EmBzTlC,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;AtBm/DlB;;AsBtgEA;EAsBI,qBnBkmBsE;EmBjmBtE,UAAU;EAKR,iDnBAW;AHg/DjB;;AsB5gEA;EAqCM,cnB5BY;EmB6BZ,sBnBpCS;AH+gEf;;AsBjhEA;EA4CI,YAAY;EACZ,sBnBiegC;EmBhehC,sBAAsB;AtBy+D1B;;AsBvhEA;EAkDI,cnB1Cc;EmB2Cd,yBnB/Cc;AHwhElB;;AsB5hEA;EAyDI,kBAAkB;EAClB,0BnBjDc;AHwhElB;;AsBn+DA;EACE,kCJiH8D;EIhH9D,oBnBwdkC;EmBvdlC,uBnBudkC;EmBtdlC,oBnBudiC;ECnS7B,mBAvE+B;AJ03DrC;;AsBn+DA;EACE,gCJyG8D;EIxG9D,mBnBodiC;EmBndjC,sBnBmdiC;EmBldjC,kBnBmdgC;ECvS5B,kBAvE+B;AJk4DrC;;AuBljEA;EACE,cAAc;EACd,kBpB6oB2E;EoB5oB3E,oBpB6oBsE;EoB5oBtE,uBpB6oB+C;AHw6CjD;;AuBzjEA;EAOI,WAAW;EACX,oBAA0C;AvBsjE9C;;AuBljEA;EACE,apBioB8C;EoBhoB9C,cpBgoB8C;EoB/nB9C,mBAA6D;EAC7D,mBAAmB;EACnB,sBpBda;EoBeb,4BAA4B;EAC5B,2BAA2B;EAC3B,wBAAwB;EACxB,qCpBooBoE;EoBnoBpE,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;EAChB,iCAAmB;EAAnB,mBAAmB;EFXf,mJlBwoBuK;AHy7C7K;;AqB7jEM;EEJN;IFKQ,gBAAgB;ErBikEtB;AACF;;AuBvkEA;ElBEI,qBF4oB2C;AH67C/C;;AuB3kEA;EAoBI,kBpB2nByC;AHg8C7C;;AuB/kEA;EAwBI,+BpBknBqD;EoBlnBrD,uBpBknBqD;AHy8CzD;;AuBnlEA;EA4BI,qBpBilBsE;EoBhlBtE,UAAU;EACV,iDpBba;AHwkEjB;;AuBzlEA;EAkCI,yBpBjBa;EoBkBb,qBpBlBa;AH6kEjB;;AuB9lEA;EAyCQ,+OLwB0E;AlBiiElF;;AuBlmEA;EAiDQ,uJLgB0E;AlBqiElF;;AuBtmEA;EAuDI,yBpBtCa;EoBuCb,qBpBvCa;EoB4CX,yOLI4E;AlB2iElF;;AuB5mEA;EAkEI,oBAAoB;EACpB,oBAAY;EAAZ,YAAY;EACZ,WAAW;AvB8iEf;;AuBlnEA;EA4EM,WAAW;AvB0iEjB;;AuB5hEA;EACE,mBpBqkByD;AH09C3D;;AuBhiEA;EAII,UpBikBiC;EoBhkBjC,mBAA2C;EAC3C,wKL/B8E;EKgC9E,gCAAgC;ElB/FhC,kBF6pBiC;AHm+CrC;;AuBxiEA;EAWM,0JLpC4E;AlBqkElF;;AuB5iEA;EAeM,iCpBgkBwC;EoB3jBtC,uJL7C0E;AlB0kElF;;AuBvhEA;EACE,qBAAqB;EACrB,kBpBqjB0C;AHq+C5C;;AuBvhEA;EACE,kBAAkB;EAClB,sBAAsB;EACtB,oBAAoB;AvB0hEtB;;AwBtqEA;EACE,kDAAsB;EACtB,kBAAkB;AxByqEpB;;AwBtqEA;EACE,kBAAkB;EAClB,UAAU;EACV,WAAW;EACX,kCAAkC;EAClC,SAAS;EACT,UAAU;AxByqEZ;;AwB/qEA;EASI,qBrB+mBsE;EqB9mBtE,iDrBkBa;AHwpEjB;;AwBprEA;;EAiBI,yBrBbc;AHqrElB;;AwBnqEA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,OAAO;EACP,UAAU;EACV,aAAa;EACb,kCAAkC;EAClC,qBrBxBgB;EEOd,sBF+TgC;AHy3DpC;;AwBlqEA;EACE,cAAc;EACd,YAAY;EACZ,yBrBwekC;EqBvelC,gBAAgB;EAEhB,gBrBkW+B;EqBjW/B,gBrBuW+B;EqBtW/B,crBlCgB;EqBmChB,uBAAuB;EACvB,mBAAmB;EACnB,sBrB5Ca;EqB6Cb,qBAAqB;EACrB,mBAAmB;EACnB,iBrBwR+B;EE9R7B,+BmBOiC;EnBNjC,kCmBMiC;AxBqqErC;;AwBlqEA;EACE,cAAc;EACd,cAAc;EACd,yBrBsdkC;EqBrdlC,iBrBgR+B;EqB/Q/B,gBrBuV+B;EqBtV/B,crBlDgB;EsBXhB,yBtBMgB;EqByDhB,qBAAqB;EACrB,mBAAmB;EACnB,iBrB0Q+B;EE5S7B,gCmBmCkC;EnBlClC,mCmBkCkC;AxBsqEtC;;AwBnqEA;EACE,iDAAsB;EpBkLlB,mBAvE+B;AJ4jErC;;AwBxqEA;;EAMI,uBrBgd+B;AHutDnC;;AwBnqEA;EACE,+CAAsB;EpBwKlB,kBAvE+B;AJskErC;;AwBxqEA;;EAMI,oBrB0c8B;AH6tDlC;;A0BzvEA;EACE,WAAW;EACX,cR0K2B;EQzK3B,UAAU;EACV,6BAA6B;EAC7B,wBAAgB;EAAhB,qBAAgB;EAAhB,gBAAgB;A1B4vElB;;A0BjwEA;EAQI,aAAa;A1B6vEjB;;A0BrwEA;EAY8B,iEvBeb;AH8uEjB;;A0BzwEA;EAa8B,iEvBcb;AHkvEjB;;A0B7wEA;EAc8B,iEvBab;AHsvEjB;;A0BjxEA;EAkBI,SAAS;A1BmwEb;;A0BrxEA;EAsBI,WvBstB2C;EuBrtB3C,YvBqtB2C;EuBptB3C,oBAAqE;ED3BvE,yBtB8Be;EuBDb,SvBqtBwC;EEnuBxC,mBFouB2C;EkBtuBzC,oHlB4uBkI;EkB5uBlI,4GlB4uBkI;EuBxtBpI,wBAAgB;EAAhB,gBAAgB;A1BkwEpB;;AqBlxEM;EKdN;ILeQ,wBAAgB;IAAhB,gBAAgB;ErBsxEtB;AACF;;A0BtyEA;EDHE,yBtBuvB2E;AHsjD7E;;A0B1yEA;EAsCI,WvB+rBkC;EuB9rBlC,cvB+rBmC;EuB9rBnC,kBAAkB;EAClB,evB8rBqC;EuB7rBrC,yBvBtCc;EuBuCd,yBAAyB;ErB/BzB,mBF6tBkC;AH2kDtC;;A0BpzEA;EAiDI,WvB2rB2C;EuB1rB3C,YvB0rB2C;EsB/uB7C,yBtB8Be;EuByBb,SvB2rBwC;EEnuBxC,mBFouB2C;EkBtuBzC,iHlB4uBkI;EkB5uBlI,4GlB4uBkI;EuB9rBpI,qBAAgB;EAAhB,gBAAgB;A1BswEpB;;AqBhzEM;EKdN;ILeQ,qBAAgB;IAAhB,gBAAgB;ErBozEtB;AACF;;A0Bp0EA;EDHE,yBtBuvB2E;AHolD7E;;A0Bx0EA;EAgEI,WvBqqBkC;EuBpqBlC,cvBqqBmC;EuBpqBnC,kBAAkB;EAClB,evBoqBqC;EuBnqBrC,yBvBhEc;EuBiEd,yBAAyB;ErBzDzB,mBF6tBkC;AHymDtC;;A0Bl1EA;EA2EI,WvBiqB2C;EuBhqB3C,YvBgqB2C;EuB/pB3C,aAAa;EACb,oBvBociC;EuBncjC,mBvBmciC;EsBrhBnC,yBtB8Be;EuBsDb,SvB8pBwC;EEnuBxC,mBFouB2C;EkBtuBzC,gHlB4uBkI;EkB5uBlI,4GlB4uBkI;EuBjqBpI,gBAAgB;A1B0wEpB;;AqBj1EM;EKdN;ILeQ,oBAAgB;IAAhB,gBAAgB;ErBq1EtB;AACF;;A0Br2EA;EDHE,yBtBuvB2E;AHqnD7E;;A0Bz2EA;EA6FI,WvBwoBkC;EuBvoBlC,cvBwoBmC;EuBvoBnC,kBAAkB;EAClB,evBuoBqC;EuBtoBrC,6BAA6B;EAC7B,yBAAyB;EACzB,oBAA0C;A1BgxE9C;;A0Bn3EA;EAwGI,yBvBpGc;EEQd,mBF6tBkC;AH+oDtC;;A0Bx3EA;EA6GI,kBAAkB;EAClB,yBvB1Gc;EEQd,mBF6tBkC;AHqpDtC;;A0B93EA;EAmHI,oBAAoB;A1B+wExB;;A0Bl4EA;EAsHM,yBvBhHY;AHg4ElB;;A0Bt4EA;EA0HM,yBvBpHY;AHo4ElB;;A0B14EA;EA8HM,yBvBxHY;AHw4ElB;;A2Bh5EA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,oBAAoB;EACpB,WAAW;A3Bm5Eb;;A2Bx5EA;;;EAUI,kBAAkB;EAClB,cAAc;EACd,SAAS;EACT,YAAY;A3Bo5EhB;;A2Bj6EA;;;EAoBI,UAAU;A3Bm5Ed;;A2Bv6EA;EA0BM,UAAU;A3Bi5EhB;;A2B36EA;EtB8BI,0BsBAgC;EtBChC,6BsBDgC;A3Bk5EpC;;A2Bh7EA;EtB4CI,yBsBV+B;EtBW/B,4BsBX+B;A3Bm5EnC;;A2Br7EA;EA0CI,kBAAkB;EAClB,UAAU;A3B+4Ed;;A2B17EA;EA8CM,UAAU;A3Bg5EhB;;A2Br4EA;EACE,aAAa;EACb,mBAAmB;EACnB,yBxBmdkC;ECxR9B,eAvE+B;EuBlHnC,gBxB8U+B;EwB7U/B,gBxBmV+B;EwBlV/B,cxBtDgB;EwBuDhB,kBAAkB;EAClB,mBAAmB;EACnB,yBxB9DgB;EwB+DhB,yBxB7DgB;EEOd,sBF+TgC;AHgoEpC;;A2B/3EA;EACE,oCTkG8D;AlBgyEhE;;A2B/3EA;EACE,gCT8F8D;AlBoyEhE;;A2B/3EA;;;;EAIE,oBxBocgC;ECvS5B,kBAvE+B;EClKjC,qBFiU+B;AH+oEnC;;A2B/3EA;EACE,sCTiF8D;AlBizEhE;;A2B/3EA;EACE,kCT6E8D;AlBqzEhE;;A2B/3EA;;;;EAIE,uBxB+aiC;ECnS7B,mBAvE+B;EClKjC,qBFgU+B;AHiqEnC;;A2B/3EA;;EAEE,sBAAsE;A3Bk4ExE;;A2Bv3EA;;EtB/FI,0BsBkG8B;EtBjG9B,6BsBiG8B;A3B03ElC;;A2B73EA;EAOI,iBxBsM6B;EE9R7B,yBsByF6B;EtBxF7B,4BsBwF6B;A3B23EjC;;A4Bp/EE;EACE,aAAa;EACb,WAAW;EACX,mBzBikB0C;ECzVxC,kBAvE+B;EwB9JjC,czBkBa;AHo+EjB;;A4Bn/EE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBzBs8B2C;EyBr8B3C,iBAAiB;ExB2Nf,mBAvE+B;EwBjJjC,WzB5BW;EyB6BX,wCzBIa;EEtBb,sBF+TgC;AHysEpC;;A4BthFI;;;;EAuCE,cAAc;A5Bs/EpB;;A4B7hFI;EA6CE,qBzBTW;EyBYT,oCViIwD;EUhIxD,4PV4B0E;EU3B1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gEV6HwD;AlBq3EhE;;A4BtiFI;EAwDI,qBzBpBS;EyBqBT,gDzBrBS;AHugFjB;;A4B3iFI;EAkEI,oCV+GwD;EU9GxD,kFV8GwD;AlB+3EhE;;A4BhjFI;EA0EE,qBzBtCW;EyByCT,uCVoGwD;EUnGxD,6dVD0E;EUE1E,+DzBkoBwG;EyBjoBxG,2EViGwD;AlBu4EhE;;A4BxjFI;EAoFI,qBzBhDS;EyBiDT,gDzBjDS;AHyhFjB;;A4B7jFI;EA4FE,qBzBxDW;AH6hFjB;;A4BjkFI;EA+FI,yBzB3DS;AHiiFjB;;A4BrkFI;EAmGI,gDzB/DS;AHqiFjB;;A4BzkFI;EAuGI,czBnES;AHyiFjB;;A4Bl+EE;EAEI,iBAAiB;A5Bo+EvB;;A4BjlFI;EAqHI,qBzBjFS;AHijFjB;;A4BrlFI;EA0HM,qBzBtFO;EyBuFP,gDzBvFO;AHsjFjB;;A4B9kFE;EACE,aAAa;EACb,WAAW;EACX,mBzBikB0C;ECzVxC,kBAvE+B;EwB9JjC,czBea;AHikFjB;;A4B7kFE;EACE,kBAAkB;EAClB,SAAS;EACT,UAAU;EACV,aAAa;EACb,eAAe;EACf,uBzBs8B2C;EyBr8B3C,iBAAiB;ExB2Nf,mBAvE+B;EwBjJjC,WzB5BW;EyB6BX,wCzBCa;EEnBb,sBF+TgC;AHmyEpC;;A4BhnFI;;;;EAuCE,cAAc;A5BglFpB;;A4BvnFI;EA6CE,qBzBZW;EyBeT,oCViIwD;EUhIxD,4UV4B0E;EU3B1E,4BAA4B;EAC5B,2DAA6D;EAC7D,gEV6HwD;AlB+8EhE;;A4BhoFI;EAwDI,qBzBvBS;EyBwBT,gDzBxBS;AHomFjB;;A4BroFI;EAkEI,oCV+GwD;EU9GxD,kFV8GwD;AlBy9EhE;;A4B1oFI;EA0EE,qBzBzCW;EyB4CT,uCVoGwD;EUnGxD,6iBVD0E;EUE1E,+DzBkoBwG;EyBjoBxG,2EViGwD;AlBi+EhE;;A4BlpFI;EAoFI,qBzBnDS;EyBoDT,gDzBpDS;AHsnFjB;;A4BvpFI;EA4FE,qBzB3DW;AH0nFjB;;A4B3pFI;EA+FI,yBzB9DS;AH8nFjB;;A4B/pFI;EAmGI,gDzBlES;AHkoFjB;;A4BnqFI;EAuGI,czBtES;AHsoFjB;;A4B5jFE;EAEI,iBAAiB;A5B8jFvB;;A4B3qFI;EAqHI,qBzBpFS;AH8oFjB;;A4B/qFI;EA0HM,qBzBzFO;EyB0FP,gDzB1FO;AHmpFjB;;A6BprFA;EACE,qBAAqB;EAErB,gB1ByY+B;E0BxY/B,gB1B8Y+B;E0B7Y/B,c1BOgB;E0BNhB,kBAAkB;EAClB,qBAAwD;EAExD,sBAAsB;EACtB,eAA2C;EAC3C,yBAAiB;EAAjB,sBAAiB;EAAjB,qBAAiB;EAAjB,iBAAiB;EACjB,6BAA6B;EAC7B,6BAA2C;ECuG3C,yB3B2ZkC;ECxR9B,eAvE+B;EClKjC,sBF+TgC;EkBjU9B,qIlB+jB6I;AH2nEnJ;;AqBtrFM;EQhBN;IRiBQ,gBAAgB;ErB0rFtB;AACF;;A6B5sFA;EAkBI,c1BNc;AHosFlB;;A6B1rFE;EAEE,UAAU;EACV,iD1BIa;AHwrFjB;;A6BrtFA;;EA0CI,oBAAoB;EACpB,a1BkhB6B;AH8pEjC;;A6BrqFE;EC1CA,W3BTa;EsBJb,yBtB8Be;E2Bff,qB3Bee;AHosFjB;;A8BhtFE;EACE,W3BfW;EsBJb,yBKM4C;EAe1C,qBAdiC;A9BiuFrC;;A8BhtFE;EAEE,W3BtBW;EsBJb,yBKM4C;EAsB1C,qBArBiC;EA0B/B,gDAAiE;A9B8sFvE;;A8B1sFE;;;EAKE,W3BtCW;E2BuCX,yBAlC0C;EAqC1C,qBApCoC;A9B6uFxC;;A8BltFE;;;EAgBM,gDAAiE;A9BwsFzE;;A8BnsFE;EAEE,W3BxDW;E2ByDX,yB3B/Ba;E2BkCb,qB3BlCa;AHquFjB;;A6B5sFE;EC1CA,W3BTa;EsBJb,yBtBUgB;E2BKhB,qB3BLgB;AH+vFlB;;A8BvvFE;EACE,W3BfW;EsBJb,yBKM4C;EAe1C,qBAdiC;A9BwwFrC;;A8BvvFE;EAEE,W3BtBW;EsBJb,yBKM4C;EAsB1C,qBArBiC;EA0B/B,iDAAiE;A9BqvFvE;;A8BjvFE;;;EAKE,W3BtCW;E2BuCX,yBAlC0C;EAqC1C,qBApCoC;A9BoxFxC;;A8BzvFE;;;EAgBM,iDAAiE;A9B+uFzE;;A8B1uFE;EAEE,W3BxDW;E2ByDX,yB3BnDc;E2BsDd,qB3BtDc;AHgyFlB;;A6BnvFE;EC1CA,W3BTa;EsBJb,yBtBqCe;E2BtBf,qB3BsBe;AH2wFjB;;A8B9xFE;EACE,W3BfW;EsBJb,yBKM4C;EAe1C,qBAdiC;A9B+yFrC;;A8B9xFE;EAEE,W3BtBW;EsBJb,yBKM4C;EAsB1C,qBArBiC;EA0B/B,+CAAiE;A9B4xFvE;;A8BxxFE;;;EAKE,W3BtCW;E2BuCX,yBAlC0C;EAqC1C,qBApCoC;A9B2zFxC;;A8BhyFE;;;EAgBM,+CAAiE;A9BsxFzE;;A8BjxFE;EAEE,W3BxDW;E2ByDX,yB3BxBa;E2B2Bb,qB3B3Ba;AH4yFjB;;A6B1xFE;EC1CA,W3BTa;EsBJb,yBtBuCe;E2BxBf,qB3BwBe;AHgzFjB;;A8Br0FE;EACE,W3BfW;EsBJb,yBKM4C;EAe1C,qBAdiC;A9Bs1FrC;;A8Br0FE;EAEE,W3BtBW;EsBJb,yBKM4C;EAsB1C,qBArBiC;EA0B/B,gDAAiE;A9Bm0FvE;;A8B/zFE;;;EAKE,W3BtCW;E2BuCX,yBAlC0C;EAqC1C,qBApCoC;A9Bk2FxC;;A8Bv0FE;;;EAgBM,gDAAiE;A9B6zFzE;;A8BxzFE;EAEE,W3BxDW;E2ByDX,yB3BtBa;E2ByBb,qB3BzBa;AHi1FjB;;A6Bj0FE;EC1CA,c3BAgB;EsBbhB,yBtBoCe;E2BrBf,qB3BqBe;AH01FjB;;A8B52FE;EACE,c3BNc;EsBbhB,yBKM4C;EAe1C,qBAdiC;A9B63FrC;;A8B52FE;EAEE,c3Bbc;EsBbhB,yBKM4C;EAsB1C,qBArBiC;EA0B/B,gDAAiE;A9B02FvE;;A8Bt2FE;;;EAKE,c3B7Bc;E2B8Bd,yBAlC0C;EAqC1C,qBApCoC;A9By4FxC;;A8B92FE;;;EAgBM,gDAAiE;A9Bo2FzE;;A8B/1FE;EAEE,c3B/Cc;E2BgDd,yB3BzBa;E2B4Bb,qB3B5Ba;AH23FjB;;A6Bx2FE;EC1CA,W3BTa;EsBJb,yBtBkCe;E2BnBf,qB3BmBe;AHm4FjB;;A8Bn5FE;EACE,W3BfW;EsBJb,yBKM4C;EAe1C,qBAdiC;A9Bo6FrC;;A8Bn5FE;EAEE,W3BtBW;EsBJb,yBKM4C;EAsB1C,qBArBiC;EA0B/B,+CAAiE;A9Bi5FvE;;A8B74FE;;;EAKE,W3BtCW;E2BuCX,yBAlC0C;EAqC1C,qBApCoC;A9Bg7FxC;;A8Br5FE;;;EAgBM,+CAAiE;A9B24FzE;;A8Bt4FE;EAEE,W3BxDW;E2ByDX,yB3B3Ba;E2B8Bb,qB3B9Ba;AHo6FjB;;A6B/4FE;EC1CA,c3BAgB;EsBbhB,yBtBKgB;E2BUhB,qB3BVgB;AHu8FlB;;A8B17FE;EACE,c3BNc;EsBbhB,yBKM4C;EAe1C,qBAdiC;A9B28FrC;;A8B17FE;EAEE,c3Bbc;EsBbhB,yBKM4C;EAsB1C,qBArBiC;EA0B/B,iDAAiE;A9Bw7FvE;;A8Bp7FE;;;EAKE,c3B7Bc;E2B8Bd,yBAlC0C;EAqC1C,qBApCoC;A9Bu9FxC;;A8B57FE;;;EAgBM,iDAAiE;A9Bk7FzE;;A8B76FE;EAEE,c3B/Cc;E2BgDd,yB3BxDc;E2B2Dd,qB3B3Dc;AHw+FlB;;A6Bt7FE;EC1CA,W3BTa;EsBJb,yBtBYgB;E2BGhB,qB3BHgB;AHu+FlB;;A8Bj+FE;EACE,W3BfW;EsBJb,yBKM4C;EAe1C,qBAdiC;A9Bk/FrC;;A8Bj+FE;EAEE,W3BtBW;EsBJb,yBKM4C;EAsB1C,qBArBiC;EA0B/B,8CAAiE;A9B+9FvE;;A8B39FE;;;EAKE,W3BtCW;E2BuCX,yBAlC0C;EAqC1C,qBApCoC;A9B8/FxC;;A8Bn+FE;;;EAgBM,8CAAiE;A9By9FzE;;A8Bp9FE;EAEE,W3BxDW;E2ByDX,yB3BjDc;E2BoDd,qB3BpDc;AHwgGlB;;A6Bv9FE;ECcA,c3B7Ce;E2B8Cf,qB3B9Ce;AH2/FjB;;A8B38FE;EACE,W3B3EW;E2B4EX,yB3BlDa;E2BmDb,qB3BnDa;AHigGjB;;A8B38FE;EAEE,gD3BxDa;AHqgGjB;;A8B18FE;;EAKE,W3B1FW;E2B2FX,yB3BjEa;E2BkEb,qB3BlEa;AH4gGjB;;A8Bj9FE;;EAcM,gD3BzES;AHihGjB;;A8Bn8FE;EAEE,c3BhFa;E2BiFb,6BAA6B;A9Bq8FjC;;A6Bv/FE;ECcA,c3BjEgB;E2BkEhB,qB3BlEgB;AH+iGlB;;A8B3+FE;EACE,W3B3EW;E2B4EX,yB3BtEc;E2BuEd,qB3BvEc;AHqjGlB;;A8B3+FE;EAEE,iD3B5Ec;AHyjGlB;;A8B1+FE;;EAKE,W3B1FW;E2B2FX,yB3BrFc;E2BsFd,qB3BtFc;AHgkGlB;;A8Bj/FE;;EAcM,iD3B7FU;AHqkGlB;;A8Bn+FE;EAEE,c3BpGc;E2BqGd,6BAA6B;A9Bq+FjC;;A6BvhGE;ECcA,c3BtCe;E2BuCf,qB3BvCe;AHojGjB;;A8B3gGE;EACE,W3B3EW;E2B4EX,yB3B3Ca;E2B4Cb,qB3B5Ca;AH0jGjB;;A8B3gGE;EAEE,+C3BjDa;AH8jGjB;;A8B1gGE;;EAKE,W3B1FW;E2B2FX,yB3B1Da;E2B2Db,qB3B3Da;AHqkGjB;;A8BjhGE;;EAcM,+C3BlES;AH0kGjB;;A8BngGE;EAEE,c3BzEa;E2B0Eb,6BAA6B;A9BqgGjC;;A6BvjGE;ECcA,c3BpCe;E2BqCf,qB3BrCe;AHklGjB;;A8B3iGE;EACE,W3B3EW;E2B4EX,yB3BzCa;E2B0Cb,qB3B1Ca;AHwlGjB;;A8B3iGE;EAEE,gD3B/Ca;AH4lGjB;;A8B1iGE;;EAKE,W3B1FW;E2B2FX,yB3BxDa;E2ByDb,qB3BzDa;AHmmGjB;;A8BjjGE;;EAcM,gD3BhES;AHwmGjB;;A8BniGE;EAEE,c3BvEa;E2BwEb,6BAA6B;A9BqiGjC;;A6BvlGE;ECcA,c3BvCe;E2BwCf,qB3BxCe;AHqnGjB;;A8B3kGE;EACE,c3BlEc;E2BmEd,yB3B5Ca;E2B6Cb,qB3B7Ca;AH2nGjB;;A8B3kGE;EAEE,+C3BlDa;AH+nGjB;;A8B1kGE;;EAKE,c3BjFc;E2BkFd,yB3B3Da;E2B4Db,qB3B5Da;AHsoGjB;;A8BjlGE;;EAcM,+C3BnES;AH2oGjB;;A8BnkGE;EAEE,c3B1Ea;E2B2Eb,6BAA6B;A9BqkGjC;;A6BvnGE;ECcA,c3BzCe;E2B0Cf,qB3B1Ce;AHupGjB;;A8B3mGE;EACE,W3B3EW;E2B4EX,yB3B9Ca;E2B+Cb,qB3B/Ca;AH6pGjB;;A8B3mGE;EAEE,+C3BpDa;AHiqGjB;;A8B1mGE;;EAKE,W3B1FW;E2B2FX,yB3B7Da;E2B8Db,qB3B9Da;AHwqGjB;;A8BjnGE;;EAcM,+C3BrES;AH6qGjB;;A8BnmGE;EAEE,c3B5Ea;E2B6Eb,6BAA6B;A9BqmGjC;;A6BvpGE;ECcA,c3BtEgB;E2BuEhB,qB3BvEgB;AHotGlB;;A8B3oGE;EACE,c3BlEc;E2BmEd,yB3B3Ec;E2B4Ed,qB3B5Ec;AH0tGlB;;A8B3oGE;EAEE,iD3BjFc;AH8tGlB;;A8B1oGE;;EAKE,c3BjFc;E2BkFd,yB3B1Fc;E2B2Fd,qB3B3Fc;AHquGlB;;A8BjpGE;;EAcM,iD3BlGU;AH0uGlB;;A8BnoGE;EAEE,c3BzGc;E2B0Gd,6BAA6B;A9BqoGjC;;A6BvrGE;ECcA,c3B/DgB;E2BgEhB,qB3BhEgB;AH6uGlB;;A8B3qGE;EACE,W3B3EW;E2B4EX,yB3BpEc;E2BqEd,qB3BrEc;AHmvGlB;;A8B3qGE;EAEE,8C3B1Ec;AHuvGlB;;A8B1qGE;;EAKE,W3B1FW;E2B2FX,yB3BnFc;E2BoFd,qB3BpFc;AH8vGlB;;A8BjrGE;;EAcM,8C3B3FU;AHmwGlB;;A8BnqGE;EAEE,c3BlGc;E2BmGd,6BAA6B;A9BqqGjC;;A6B5sGA;EACE,gB1BoU+B;E0BnU/B,c1B5Ce;E0B6Cf,0B1BwLiD;AHuhGnD;;A6BltGA;EAMI,c1BsL8D;AH0hGlE;;A6BttGA;EAgBI,c1B9Ec;AHwxGlB;;A6B/rGA;ECkBE,oB3B0agC;ECvS5B,kBAvE+B;EClKjC,qBFiU+B;AHw9FnC;;A6BjsGA;ECcE,uB3BsaiC;ECnS7B,mBAvE+B;EClKjC,qBFgU+B;AH+9FnC;;A6B9rGA;EACE,cAAc;EACd,WAAW;A7BisGb;;A6BnsGA;EAMI,kB1B+c+B;AHkvFnC;;A+B1zGA;EVgBM,gClBoV2C;AH09FjD;;AqB1yGM;EUpBN;IVqBQ,gBAAgB;ErB8yGtB;AACF;;A+Bp0GA;EAII,UAAU;A/Bo0Gd;;A+Bh0GA;EAEI,aAAa;A/Bk0GjB;;A+B9zGA;EACE,SAAS;EACT,gBAAgB;EVAZ,6BlBqVwC;AH6+F9C;;AqB9zGM;EUNN;IVOQ,gBAAgB;ErBk0GtB;AACF;;AgCv1GA;;;;EAIE,kBAAkB;AhC01GpB;;A2B7tGqB;EKzHnB,mBAAmB;AhC01GrB;;AiCt0GI;EACE,qBAAqB;EACrB,oB9BkU0C;E8BjU1C,uB9BgU0C;E8B/T1C,WAAW;EAhCf,uBAA8B;EAC9B,qCAA4C;EAC5C,gBAAgB;EAChB,oCAA2C;AjC02G7C;;AiCrzGI;EACE,cAAc;AjCwzGpB;;A2BhvG2C;EKjHzC,kBAAkB;EAClB,SAAS;EACT,OAAO;EACP,a7ByyBsC;E6BxyBtC,aAAa;EACb,gB7Bk3BuC;E6Bj3BvC,iBAA8B;EAC9B,oBAA4B;E5BmOxB,eAvE+B;E4B1JnC,c7BVgB;E6BWhB,gBAAgB;EAChB,gBAAgB;EAChB,sB7BtBa;E6BuBb,4BAA4B;EAC5B,qC7Bda;EECX,sBF+TgC;AHojGpC;;AgC51GI;EACE,WAAW;EACX,OAAO;AhC+1Gb;;AgC51GI;EACE,QAAQ;EACR,UAAU;AhC+1GhB;;AYh1GI;EoBtBA;IACE,WAAW;IACX,OAAO;EhC02GX;EgCv2GE;IACE,QAAQ;IACR,UAAU;EhCy2Gd;AACF;;AY31GI;EoBtBA;IACE,WAAW;IACX,OAAO;EhCq3GX;EgCl3GE;IACE,QAAQ;IACR,UAAU;EhCo3Gd;AACF;;AYt2GI;EoBtBA;IACE,WAAW;IACX,OAAO;EhCg4GX;EgC73GE;IACE,QAAQ;IACR,UAAU;EhC+3Gd;AACF;;AYj3GI;EoBtBA;IACE,WAAW;IACX,OAAO;EhC24GX;EgCx4GE;IACE,QAAQ;IACR,UAAU;EhC04Gd;AACF;;AY53GI;EoBtBA;IACE,WAAW;IACX,OAAO;EhCs5GX;EgCn5GE;IACE,QAAQ;IACR,UAAU;EhCq5Gd;AACF;;AgC94GA;EAEI,SAAS;EACT,YAAY;EACZ,aAAa;EACb,uB7B60BuC;AHmkF3C;;AiCh7GI;EACE,qBAAqB;EACrB,oB9BkU0C;E8BjU1C,uB9BgU0C;E8B/T1C,WAAW;EAzBf,aAAa;EACb,qCAA4C;EAC5C,0BAAiC;EACjC,oCAA2C;AjC68G7C;;AiC/5GI;EACE,cAAc;AjCk6GpB;;AgCv5GA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,qB7B+zBuC;AH0lF3C;;AiCv8GI;EACE,qBAAqB;EACrB,oB9BkU0C;E8BjU1C,uB9BgU0C;E8B/T1C,WAAW;EAlBf,mCAA0C;EAC1C,eAAe;EACf,sCAA6C;EAC7C,wBAA+B;AjC69GjC;;AiCt7GI;EACE,cAAc;AjCy7GpB;;AiCt9GI;EDoDE,iBAAiB;AhCs6GvB;;AgCj6GA;EAEI,MAAM;EACN,WAAW;EACX,UAAU;EACV,aAAa;EACb,sB7B8yBuC;AHqnF3C;;AiCl+GI;EACE,qBAAqB;EACrB,oB9BkU0C;E8BjU1C,uB9BgU0C;E8B/T1C,WAAW;AjCq+GjB;;AiCz+GI;EAgBI,aAAa;AjC69GrB;;AiC19GM;EACE,qBAAqB;EACrB,qB9B+SwC;E8B9SxC,uB9B6SwC;E8B5SxC,WAAW;EA9BjB,mCAA0C;EAC1C,yBAAgC;EAChC,sCAA6C;AjC4/G/C;;AiC39GI;EACE,cAAc;AjC89GpB;;AiCx+GM;EDkDA,iBAAiB;AhC07GvB;;AgCn7GA;EAKI,WAAW;EACX,YAAY;AhCk7GhB;;AgC76GA;EACE,SAAS;EACT,gBAAoC;EACpC,gBAAgB;EAChB,6B7B/GgB;AH+hHlB;;AgC16GA;EACE,cAAc;EACd,WAAW;EACX,qB7B2GW;E6B1GX,WAAW;EACX,gB7B6Q+B;E6B5Q/B,c7BpHgB;E6BqHhB,mBAAmB;EACnB,qBAAwD;EACxD,mBAAmB;EACnB,6BAA6B;EAC7B,SAAS;AhC66GX;;AgCx7GA;EA2BI,c7B8vBqD;EsBp5BvD,yBtBKgB;AHmjHlB;;AgC77GA;EAkCI,W7BzJW;E6B0JX,qBAAqB;EP9JvB,yBtB8Be;AHgiHjB;;AgCn8GA;EAyCI,c7B1Jc;E6B2Jd,oBAAoB;EACpB,6BAA6B;AhC85GjC;;AgCx5GA;EACE,cAAc;AhC25GhB;;AgCv5GA;EACE,cAAc;EACd,oB7BsDW;E6BrDX,gBAAgB;E5BoEZ,mBAvE+B;E4BKnC,c7B5KgB;E6B6KhB,mBAAmB;AhC05GrB;;AgCt5GA;EACE,cAAc;EACd,qB7B4CW;E6B3CX,c7BjLgB;AH0kHlB;;AkCvlHA;;EAEE,kBAAkB;EAClB,oBAAoB;EACpB,sBAAsB;AlC0lHxB;;AkC9lHA;;EAOI,kBAAkB;EAClB,cAAc;AlC4lHlB;;AkCpmHA;;;;;;;;;;;;EAmBI,UAAU;AlCgmHd;;AkC3lHA;EACE,aAAa;EACb,eAAe;EACf,2BAA2B;AlC8lH7B;;AkCjmHA;EAMI,WAAW;AlC+lHf;;AkC3lHA;;EAII,iB/BqS6B;AHuzGjC;;AkChmHA;;E7BHI,0B6Ba8B;E7BZ9B,6B6BY8B;AlC4lHlC;;AkCtmHA;;;E7BWI,yB6BS6B;E7BR7B,4B6BQ6B;AlCylHjC;;AkCzkHA;EACE,wBAAmC;EACnC,uBAAkC;AlC4kHpC;;AkC9kHA;;;EAOI,cAAc;AlC6kHlB;;AkC1kHE;EACE,eAAe;AlC6kHnB;;AkCzkHA;EACE,uBAAsC;EACtC,sBAAqC;AlC4kHvC;;AkCzkHA;EACE,sBAAsC;EACtC,qBAAqC;AlC4kHvC;;AkCxjHA;EACE,sBAAsB;EACtB,uBAAuB;EACvB,uBAAuB;AlC2jHzB;;AkC9jHA;;EAOI,WAAW;AlC4jHf;;AkCnkHA;;EAYI,gB/B+M6B;AH62GjC;;AkCxkHA;;E7B1EI,6B6B4F+B;E7B3F/B,4B6B2F+B;AlC4jHnC;;AkC9kHA;;E7BxFI,yB6B+G4B;E7B9G5B,0B6B8G4B;AlC6jHhC;;AmClsHA;EACE,aAAa;EACb,eAAe;EACf,eAAe;EACf,gBAAgB;EAChB,gBAAgB;AnCqsHlB;;AmClsHA;EACE,cAAc;EACd,oBhC2zBsC;EgC1zBtC,qBAAwD;EdApD,uGlB2zBsH;AH24F5H;;AqBlsHM;EcPN;IdQQ,gBAAgB;ErBssHtB;AACF;;AmC/sHA;EAaI,chCbc;EgCcd,oBAAoB;EACpB,eAAe;AnCssHnB;;AmC9rHA;EACE,gChC3BgB;AH4tHlB;;AmClsHA;EAII,mBhCsS6B;EgCrS7B,6BAAgD;E9BdhD,+BFsTgC;EErThC,gCFqTgC;AH45GpC;;AmCzsHA;EAUM,qChCpCY;AHuuHlB;;AmC7sHA;EAcM,chCrCY;EgCsCZ,6BAA6B;EAC7B,yBAAyB;AnCmsH/B;;AmCntHA;;EAsBI,chC5Cc;EgC6Cd,sBhCpDW;EgCqDX,kChCrDW;AHuvHf;;AmC1tHA;EA6BI,gBhC6Q6B;EEnT7B,yB8BwC4B;E9BvC5B,0B8BuC4B;AnCisHhC;;AmCxrHA;E9B1DI,sBF+TgC;AHu7GpC;;AmC5rHA;;EAOI,WhC5EW;EsBJb,yBtB8Be;AH6uHjB;;AmCjrHA;;EAGI,cAAc;EACd,kBAAkB;AnCmrHtB;;AmC/qHA;;EAGI,aAAa;EACb,YAAY;EACZ,kBAAkB;AnCirHtB;;AmCxqHA;EAEI,aAAa;AnC0qHjB;;AmC5qHA;EAKI,cAAc;AnC2qHlB;;AoCnxHA;EACE,kBAAkB;EAClB,aAAa;EACb,eAAe;EACf,mBAAmB;EACnB,8BAA8B;EAC9B,mBjCu0B6C;EiCr0B7C,sBjCq0B6C;AHg9F/C;;AoC7xHA;;EAgBI,aAAa;EACb,kBAAkB;EAClB,mBAAmB;EACnB,8BAA8B;ApCkxHlC;;AoC9vHA;EACE,sBjC8yB+E;EiC7yB/E,yBjC6yB+E;EiC5yB/E,kBjC6yBsC;EC5mBlC,kBAvE+B;EgCxHnC,qBAAwD;EACxD,mBAAmB;ApCiwHrB;;AoCpvHA;EACE,aAAa;EACb,sBAAsB;EACtB,eAAe;EACf,gBAAgB;EAChB,gBAAgB;ApCuvHlB;;AoC5vHA;EAQI,gBAAgB;EAChB,eAAe;ApCwvHnB;;AoCjwHA;EAaI,gBAAgB;ApCwvHpB;;AoC/uHA;EACE,mBjCwuBuC;EiCvuBvC,sBjCuuBuC;AH2gGzC;;AoCtuHA;EAGE,mBAAmB;EACnB,WAAW;ApCuuHb;;AoCnuHA;EACE,wBjCmvBwC;EC/mBpC,kBAvE+B;EgC3DnC,cAAc;EACd,6BAA6B;EAC7B,6BAAuC;E/BzGrC,sBF+TgC;EkBjU9B,wClB81ByD;AHq/F/D;;AqB/0HM;EekGN;IfjGQ,gBAAgB;ErBm1HtB;AACF;;AoCnvHA;EAUI,qBAAqB;ApC6uHzB;;AoCvvHA;EAcI,qBAAqB;EACrB,UAAU;EACV,wBjCkZiC;AH21GrC;;AoCvuHA;EACE,qBAAqB;EACrB,YAAY;EACZ,aAAa;EACb,sBAAsB;EACtB,4BAA4B;EAC5B,2BAA2B;EAC3B,qBAAqB;ApC0uHvB;;AY9zHI;EwB8FA;IAEI,iBAAiB;IACjB,2BAA2B;EpCmuHjC;EoCtuHG;IAMK,mBAAmB;EpCmuH3B;EoCzuHG;IASO,kBAAkB;EpCmuH5B;EoC5uHG;IAaO,qBjCsrB6B;IiCrrB7B,oBjCqrB6B;EH6iGvC;EoChvHG;IAmBK,wBAAwB;EpCguHhC;EoCnvHG;IAuBK,aAAa;EpC+tHrB;AACF;;AYr1HI;EwB8FA;IAEI,iBAAiB;IACjB,2BAA2B;EpC0vHjC;EoC7vHG;IAMK,mBAAmB;EpC0vH3B;EoChwHG;IASO,kBAAkB;EpC0vH5B;EoCnwHG;IAaO,qBjCsrB6B;IiCrrB7B,oBjCqrB6B;EHokGvC;EoCvwHG;IAmBK,wBAAwB;EpCuvHhC;EoC1wHG;IAuBK,aAAa;EpCsvHrB;AACF;;AY52HI;EwB8FA;IAEI,iBAAiB;IACjB,2BAA2B;EpCixHjC;EoCpxHG;IAMK,mBAAmB;EpCixH3B;EoCvxHG;IASO,kBAAkB;EpCixH5B;EoC1xHG;IAaO,qBjCsrB6B;IiCrrB7B,oBjCqrB6B;EH2lGvC;EoC9xHG;IAmBK,wBAAwB;EpC8wHhC;EoCjyHG;IAuBK,aAAa;EpC6wHrB;AACF;;AYn4HI;EwB8FA;IAEI,iBAAiB;IACjB,2BAA2B;EpCwyHjC;EoC3yHG;IAMK,mBAAmB;EpCwyH3B;EoC9yHG;IASO,kBAAkB;EpCwyH5B;EoCjzHG;IAaO,qBjCsrB6B;IiCrrB7B,oBjCqrB6B;EHknGvC;EoCrzHG;IAmBK,wBAAwB;EpCqyHhC;EoCxzHG;IAuBK,aAAa;EpCoyHrB;AACF;;AY15HI;EwB8FA;IAEI,iBAAiB;IACjB,2BAA2B;EpC+zHjC;EoCl0HG;IAMK,mBAAmB;EpC+zH3B;EoCr0HG;IASO,kBAAkB;EpC+zH5B;EoCx0HG;IAaO,qBjCsrB6B;IiCrrB7B,oBjCqrB6B;EHyoGvC;EoC50HG;IAmBK,wBAAwB;EpC4zHhC;EoC/0HG;IAuBK,aAAa;EpC2zHrB;AACF;;AoCx1HA;EAOQ,iBAAiB;EACjB,2BAA2B;ApCq1HnC;;AoC71HA;EAWU,mBAAmB;ApCs1H7B;;AoCj2HA;EAcY,kBAAkB;ApCu1H9B;;AoCr2HA;EAkBY,qBjCsrB6B;EiCrrB7B,oBjCqrB6B;AHkqGzC;;AoC12HA;EAwBU,wBAAwB;ApCs1HlC;;AoC92HA;EA4BU,aAAa;ApCs1HvB;;AoCz0HA;EAEI,yBjClLW;AH6/Hf;;AoC70HA;EAMM,yBjCtLS;AHigIf;;AoCj1HA;EAYM,0BjC5LS;AHqgIf;;AoCr1HA;EAgBQ,yBjChMO;AHygIf;;AoCz1HA;EAoBQ,yBjCpMO;AH6gIf;;AoC71HA;;EA0BM,yBjC1MS;AHkhIf;;AoCl2HA;EA+BI,0BjC/MW;EiCgNX,gCjChNW;AHuhIf;;AoCv2HA;EAoCI,6PlBpJ8E;AlB29HlF;;AoC32HA;EAwCI,0BjCxNW;AH+hIf;;AoC/2HA;;;EA6CM,yBjC7NS;AHqiIf;;AoCl0HA;EAEI,WjC/OW;AHmjIf;;AoCt0HA;EAMM,WjCnPS;AHujIf;;AoC10HA;EAYM,gCjCzPS;AH2jIf;;AoC90HA;EAgBQ,gCjC7PO;AH+jIf;;AoCl1HA;EAoBQ,gCjCjQO;AHmkIf;;AoCt1HA;;EA0BM,WjCvQS;AHwkIf;;AoC31HA;EA+BI,gCjC5QW;EiC6QX,sCjC7QW;AH6kIf;;AoCh2HA;EAoCI,mQlBvM8E;AlBugIlF;;AoCp2HA;EAwCI,gCjCrRW;AHqlIf;;AoCx2HA;;;EA4CM,WjCzRS;AH2lIf;;AqC9lIA;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,YAAY;EAEZ,qBAAqB;EACrB,sBlCJa;EkCKb,2BAA2B;EAC3B,sClCIa;EECX,sBF+TgC;AH6xHpC;;AqC1mIA;EAaI,eAAe;EACf,cAAc;ArCimIlB;;AqC/mIA;EAkBI,mBAAmB;EACnB,sBAAsB;ArCimI1B;;AqCpnIA;EAsBM,mBAAmB;EhCCrB,2Ca8K4D;Eb7K5D,4Ca6K4D;AlBq7HhE;;AqC1nIA;EA2BM,sBAAsB;EhCUxB,+CagK4D;Eb/J5D,8Ca+J4D;AlB27HhE;;AqChoIA;;EAoCI,aAAa;ArCimIjB;;AqC7lIA;EAGE,cAAc;EACd,kBlC4LW;AHk6Hb;;AqC1lIA;EACE,qBlCq5B6C;AHwsG/C;;AqC1lIA;EACE,oBAAqC;EACrC,gBAAgB;ArC6lIlB;;AqC1lIA;EACE,gBAAgB;ArC6lIlB;;AqC1lIA;EAEI,qBAAqB;ArC4lIzB;;AqC9lIA;EAMI,iBlCqKS;AHu7Hb;;AqCplIA;EACE,oBlC4JW;EkC3JX,gBAAgB;EAEhB,qClClEa;EkCmEb,6ClCnEa;AHypIf;;AqC3lIA;EhC7DI,0DgCqE8E;ArCulIlF;;AqCnlIA;EACE,oBlCgJW;EkC9IX,qClC7Ea;EkC8Eb,0ClC9Ea;AHmqIf;;AqCzlIA;EhCzEI,0DauL4D;AlB++HhE;;AqC7kIA;EACE,qBAAsC;EACtC,sBlCk2BoD;EkCj2BpD,oBAAqC;EACrC,gBAAgB;ArCglIlB;;AqCtkIA;EACE,qBAAsC;EACtC,oBAAqC;ArCykIvC;;AqCrkIA;EACE,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,SAAS;EACT,OAAO;EACP,alCuGW;EE1NT,kCauL4D;AlBqgIhE;;AqCrkIA;;;EAGE,WAAW;ArCwkIb;;AqCrkIA;;EhCpHI,2Ca8K4D;Eb7K5D,4Ca6K4D;AlBihIhE;;AqCtkIA;;EhC3GI,+CagK4D;Eb/J5D,8Ca+J4D;AlBuhIhE;;AqClkIA;EAII,sBlCuzBsD;AH2wG1D;;AYrqII;EyB+FJ;IAQI,aAAa;IACb,mBAAmB;ErCmkIrB;EqC5kIF;IAcM,YAAY;IACZ,gBAAgB;ErCikIpB;EqChlIF;IAkBQ,cAAc;IACd,cAAc;ErCikIpB;EqCplIF;IhC5HI,0BgCqJoC;IhCpJpC,6BgCoJoC;ErC+jItC;EqCxlIF;;IA8BY,0BAA0B;ErC8jIpC;EqC5lIF;;IAmCY,6BAA6B;ErC6jIvC;EqChmIF;IhC9GI,yBgCsJmC;IhCrJnC,4BgCqJmC;ErC4jIrC;EqCpmIF;;IA6CY,yBAAyB;ErC2jInC;EqCxmIF;;IAkDY,4BAA4B;ErC0jItC;AACF;;AqC9iIA;EAEI,gBAAgB;ArCgjIpB;;AqCljIA;EAKM,gBAAgB;EhCzLlB,6BgC0LiC;EhCzLjC,4BgCyLiC;ArCkjIrC;;AqCxjIA;EhClMI,yBgC4M8B;EhC3M9B,0BgC2M8B;ArCmjIlC;;AqC7jIA;EhC3MI,gBgCyN0B;EACxB,mBlCkG2B;AHi9HjC;;AsC/xIA;EACE,aAAa;EACb,eAAe;EACf,oBnCyOW;EmCxOX,mBnCkqCsC;EmChqCtC,gBAAgB;EAChB,yBnCEgB;EESd,sBF+TgC;AHw9HpC;;AsC9xIA;EACE,aAAa;AtCiyIf;;AsClyIA;EAKI,oBnCqpCqC;AH4oGzC;;AsCtyIA;EAQM,qBAAqB;EACrB,qBnCipCmC;EmChpCnC,cnCRY;EmCSZ,YnCopCuC;AH8oG7C;;AsC7yIA;EAgBI,cnCdc;AH+yIlB;;AuC5zIA;EACE,aAAa;EhCGb,eAAe;EACf,gBAAgB;AP6zIlB;;AuC7zIA;EACE,kBAAkB;EAClB,cAAc;EACd,cpCyBe;EoCxBf,qBAAwD;EACxD,sBpCHa;EoCIb,yBpCDgB;AHi0IlB;;AuCt0IA;EASI,UAAU;EACV,cpCwP8D;EoCtP9D,yBpCRc;EoCSd,qBpCRc;AHw0IlB;;AuC70IA;EAiBI,UAAU;EACV,UpCg6BiC;EoC/5BjC,iDpCSa;AHuzIjB;;AuC5zIA;EAEI,iBpCgT6B;AH8gIjC;;AuCh0IA;EAMI,UAAU;EACV,WpC5BW;EsBJb,yBtB8Be;EoCIb,qBpCJa;AHk0IjB;;AuCv0IA;EAaI,cpC5Bc;EoC6Bd,oBAAoB;EACpB,sBpCpCW;EoCqCX,qBpClCc;AHg2IlB;;AuCr2IA;ECDI,yBrCq6BsC;AHq8G1C;;AwCt2IE;EnCwCE,+BFiSgC;EEhShC,kCFgSgC;AHkiIpC;;AwC32IE;EnC0BE,gCF+SgC;EE9ShC,mCF8SgC;AHuiIpC;;AwCr3IE;EACE,uBrCy6BsC;EClrBpC,kBAvE+B;AJysIrC;;AwCl3IQ;EnCqCJ,8BFmS+B;EElS/B,iCFkS+B;AH+iInC;;AwCj3IQ;EnCiBJ,+BFiT+B;EEhT/B,kCFgT+B;AHojInC;;AwCp4IE;EACE,uBrCu6BqC;EChrBnC,mBAvE+B;AJwtIrC;;AwCj4IQ;EnCqCJ,8BFkS+B;EEjS/B,iCFiS+B;AH+jInC;;AwCh4IQ;EnCiBJ,+BFgT+B;EE/S/B,kCF+S+B;AHokInC;;AyCj5IA;EACE,qBAAqB;EACrB,qBtCiiCsC;EC7yBlC,iBAvE+B;EqC3KnC,gBtCwY+B;EsCvY/B,cAAc;EACd,WtCJa;EsCKb,kBAAkB;EAClB,mBAAmB;EACnB,wBAAwB;EpCItB,sBF+TgC;AHklIpC;;AyC95IA;EAeI,aAAa;AzCm5IjB;;AyC94IA;EACE,kBAAkB;EAClB,SAAS;AzCi5IX;;A0Cx6IA;EACE,kBAAkB;EAClB,kBvCsOW;EuCrOX,mBvCslCsC;EuCrlCtC,6BAA6C;ErCU3C,sBF+TgC;AHmmIpC;;A0Cv6IA;EAEE,cAAc;A1Cy6IhB;;A0Cr6IA;EACE,gBvC6X+B;AH2iIjC;;A0Ch6IA;EACE,qBAAsD;A1Cm6IxD;;A0Cp6IA;EAKI,kBAAkB;EAClB,MAAM;EACN,QAAQ;EACR,kBvCwMS;EuCvMT,cAAc;A1Cm6IlB;;A0C15IE;EC7CA,czB0JgE;EOxJhE,yBPwJgE;EyBxJhE,qBzBwJgE;AlBmzIlE;;A2Cz8IE;EACE,cAA0B;A3C48I9B;;A0Cp6IE;EC7CA,czB0JgE;EOxJhE,yBPwJgE;EyBxJhE,qBzBwJgE;AlB6zIlE;;A2Cn9IE;EACE,cAA0B;A3Cs9I9B;;A0C96IE;EC7CA,czB0JgE;EOxJhE,yBPwJgE;EyBxJhE,qBzBwJgE;AlBu0IlE;;A2C79IE;EACE,cAA0B;A3Cg+I9B;;A0Cx7IE;EC7CA,czB0JgE;EOxJhE,yBPwJgE;EyBxJhE,qBzBwJgE;AlBi1IlE;;A2Cv+IE;EACE,cAA0B;A3C0+I9B;;A0Cl8IE;EC7CA,czB0JgE;EOxJhE,yBPwJgE;EyBxJhE,qBzBwJgE;AlB21IlE;;A2Cj/IE;EACE,cAA0B;A3Co/I9B;;A0C58IE;EC7CA,czB0JgE;EOxJhE,yBPwJgE;EyBxJhE,qBzBwJgE;AlBq2IlE;;A2C3/IE;EACE,cAA0B;A3C8/I9B;;A0Ct9IE;EC7CA,czB0JgE;EOxJhE,yBPwJgE;EyBxJhE,qBzBwJgE;AlB+2IlE;;A2CrgJE;EACE,cAA0B;A3CwgJ9B;;A0Ch+IE;EC7CA,czB0JgE;EOxJhE,yBPwJgE;EyBxJhE,qBzBwJgE;AlBy3IlE;;A2C/gJE;EACE,cAA0B;A3CkhJ9B;;A4CthJE;EACE;IAAK,2BzCsmC+B;EHo7GtC;AACF;;A4C5hJE;EACE;IAAK,2BzCsmC+B;EHo7GtC;AACF;;A4CvhJA;EACE,aAAa;EACb,YzCgmCsC;EyC/lCtC,gBAAgB;ExCiPZ,kBAvE+B;EwCxKnC,yBzCHgB;EESd,sBF+TgC;AHstIpC;;A4CthJA;EACE,aAAa;EACb,sBAAsB;EACtB,uBAAuB;EACvB,gBAAgB;EAChB,WzCfa;EyCgBb,kBAAkB;EAClB,mBAAmB;EACnB,yBzCQe;EkBjBX,2BlBimC4C;AHk8GlD;;AqB/hJM;EuBHN;IvBIQ,gBAAgB;ErBmiJtB;AACF;;A4C5hJA;EnBYE,qMAA6I;EmBV7I,0BzC0kCsC;AHq9GxC;;A4C3hJE;EACE,0DzC4kCkD;EyC5kClD,kDzC4kCkD;AHk9GtD;;A4C3hJM;EAJJ;IAKM,uBAAe;IAAf,eAAe;E5C+hJrB;AACF;;A6CpkJA;EACE,aAAa;EACb,sBAAsB;EAGtB,eAAe;EACf,gBAAgB;ExCQd,sBF+TgC;AH+vIpC;;A6C5jJA;EACE,WAAW;EACX,c1CRgB;E0CShB,mBAAmB;A7C+jJrB;;A6ClkJA;EAQI,UAAU;EACV,c1Cfc;E0CgBd,qBAAqB;EACrB,yB1CvBc;AHqlJlB;;A6CzkJA;EAeI,c1CnBc;E0CoBd,yB1C3Bc;AHylJlB;;A6CrjJA;EACE,kBAAkB;EAClB,cAAc;EACd,oB1C4LW;E0C1LX,qBAAwD;EACxD,sB1C5Ca;E0C6Cb,sC1CnCa;AH0lJf;;A6C9jJA;ExClBI,+BwC4BkC;ExC3BlC,gCwC2BkC;A7CyjJtC;;A6CnkJA;ExCJI,mCwCkBqC;ExCjBrC,kCwCiBqC;A7C0jJzC;;A6CxkJA;EAmBI,c1CnDc;E0CoDd,oBAAoB;EACpB,sB1C3DW;AHonJf;;A6C9kJA;EA0BI,UAAU;EACV,W1CjEW;E0CkEX,yB1CxCa;E0CyCb,qB1CzCa;AHimJjB;;A6CrlJA;EAiCI,mBAAmB;A7CwjJvB;;A6CzlJA;EAoCM,gB1C6P2B;E0C5P3B,qB1C4P2B;AH6zIjC;;A6C3iJI;EACE,mBAAmB;A7C8iJzB;;A6C/iJI;ExCvBA,kCFwQgC;EEpRhC,0BwCyCwC;A7C8iJ5C;;A6CpjJI;ExCnCA,gCFoRgC;EExQhC,4BwCkC0C;A7C8iJ9C;;A6CzjJI;EAeM,aAAa;A7C8iJvB;;A6C7jJI;EAmBM,qB1C2NuB;E0C1NvB,oBAAoB;A7C8iJ9B;;A6ClkJI;EAuBQ,iB1CuNqB;E0CtNrB,sB1CsNqB;AHy1IjC;;AYxmJI;EiCiCA;IACE,mBAAmB;E7C2kJvB;E6C5kJE;IxCvBA,kCFwQgC;IEpRhC,0BwCyCwC;E7C0kJ1C;E6ChlJE;IxCnCA,gCFoRgC;IExQhC,4BwCkC0C;E7CykJ5C;E6CplJE;IAeM,aAAa;E7CwkJrB;E6CvlJE;IAmBM,qB1C2NuB;I0C1NvB,oBAAoB;E7CukJ5B;E6C3lJE;IAuBQ,iB1CuNqB;I0CtNrB,sB1CsNqB;EHi3I/B;AACF;;AYjoJI;EiCiCA;IACE,mBAAmB;E7ComJvB;E6CrmJE;IxCvBA,kCFwQgC;IEpRhC,0BwCyCwC;E7CmmJ1C;E6CzmJE;IxCnCA,gCFoRgC;IExQhC,4BwCkC0C;E7CkmJ5C;E6C7mJE;IAeM,aAAa;E7CimJrB;E6ChnJE;IAmBM,qB1C2NuB;I0C1NvB,oBAAoB;E7CgmJ5B;E6CpnJE;IAuBQ,iB1CuNqB;I0CtNrB,sB1CsNqB;EH04I/B;AACF;;AY1pJI;EiCiCA;IACE,mBAAmB;E7C6nJvB;E6C9nJE;IxCvBA,kCFwQgC;IEpRhC,0BwCyCwC;E7C4nJ1C;E6CloJE;IxCnCA,gCFoRgC;IExQhC,4BwCkC0C;E7C2nJ5C;E6CtoJE;IAeM,aAAa;E7C0nJrB;E6CzoJE;IAmBM,qB1C2NuB;I0C1NvB,oBAAoB;E7CynJ5B;E6C7oJE;IAuBQ,iB1CuNqB;I0CtNrB,sB1CsNqB;EHm6I/B;AACF;;AYnrJI;EiCiCA;IACE,mBAAmB;E7CspJvB;E6CvpJE;IxCvBA,kCFwQgC;IEpRhC,0BwCyCwC;E7CqpJ1C;E6C3pJE;IxCnCA,gCFoRgC;IExQhC,4BwCkC0C;E7CopJ5C;E6C/pJE;IAeM,aAAa;E7CmpJrB;E6ClqJE;IAmBM,qB1C2NuB;I0C1NvB,oBAAoB;E7CkpJ5B;E6CtqJE;IAuBQ,iB1CuNqB;I0CtNrB,sB1CsNqB;EH47I/B;AACF;;AY5sJI;EiCiCA;IACE,mBAAmB;E7C+qJvB;E6ChrJE;IxCvBA,kCFwQgC;IEpRhC,0BwCyCwC;E7C8qJ1C;E6CprJE;IxCnCA,gCFoRgC;IExQhC,4BwCkC0C;E7C6qJ5C;E6CxrJE;IAeM,aAAa;E7C4qJrB;E6C3rJE;IAmBM,qB1C2NuB;I0C1NvB,oBAAoB;E7C2qJ5B;E6C/rJE;IAuBQ,iB1CuNqB;I0CtNrB,sB1CsNqB;EHq9I/B;AACF;;A6C9pJA;ExCpHI,gBwCqHsB;A7CiqJ1B;;A6ClqJA;EAII,qB1CoM6B;AH89IjC;;A6CtqJA;EAOM,sBAAsB;A7CmqJ5B;;A8C7yJE;EACE,c5BuJ8D;E4BtJ9D,yB5BsJ8D;AlB0pJlE;;A8ClzJE;EAOM,c5BiJ0D;E4BhJ1D,yBAAyC;A9C+yJjD;;A8CvzJE;EAYM,W3CRO;E2CSP,yB5B2I0D;E4B1I1D,qB5B0I0D;AlBqqJlE;;A8C7zJE;EACE,c5BuJ8D;E4BtJ9D,yB5BsJ8D;AlB0qJlE;;A8Cl0JE;EAOM,c5BiJ0D;E4BhJ1D,yBAAyC;A9C+zJjD;;A8Cv0JE;EAYM,W3CRO;E2CSP,yB5B2I0D;E4B1I1D,qB5B0I0D;AlBqrJlE;;A8C70JE;EACE,c5BuJ8D;E4BtJ9D,yB5BsJ8D;AlB0rJlE;;A8Cl1JE;EAOM,c5BiJ0D;E4BhJ1D,yBAAyC;A9C+0JjD;;A8Cv1JE;EAYM,W3CRO;E2CSP,yB5B2I0D;E4B1I1D,qB5B0I0D;AlBqsJlE;;A8C71JE;EACE,c5BuJ8D;E4BtJ9D,yB5BsJ8D;AlB0sJlE;;A8Cl2JE;EAOM,c5BiJ0D;E4BhJ1D,yBAAyC;A9C+1JjD;;A8Cv2JE;EAYM,W3CRO;E2CSP,yB5B2I0D;E4B1I1D,qB5B0I0D;AlBqtJlE;;A8C72JE;EACE,c5BuJ8D;E4BtJ9D,yB5BsJ8D;AlB0tJlE;;A8Cl3JE;EAOM,c5BiJ0D;E4BhJ1D,yBAAyC;A9C+2JjD;;A8Cv3JE;EAYM,W3CRO;E2CSP,yB5B2I0D;E4B1I1D,qB5B0I0D;AlBquJlE;;A8C73JE;EACE,c5BuJ8D;E4BtJ9D,yB5BsJ8D;AlB0uJlE;;A8Cl4JE;EAOM,c5BiJ0D;E4BhJ1D,yBAAyC;A9C+3JjD;;A8Cv4JE;EAYM,W3CRO;E2CSP,yB5B2I0D;E4B1I1D,qB5B0I0D;AlBqvJlE;;A8C74JE;EACE,c5BuJ8D;E4BtJ9D,yB5BsJ8D;AlB0vJlE;;A8Cl5JE;EAOM,c5BiJ0D;E4BhJ1D,yBAAyC;A9C+4JjD;;A8Cv5JE;EAYM,W3CRO;E2CSP,yB5B2I0D;E4B1I1D,qB5B0I0D;AlBqwJlE;;A8C75JE;EACE,c5BuJ8D;E4BtJ9D,yB5BsJ8D;AlB0wJlE;;A8Cl6JE;EAOM,c5BiJ0D;E4BhJ1D,yBAAyC;A9C+5JjD;;A8Cv6JE;EAYM,W3CRO;E2CSP,yB5B2I0D;E4B1I1D,qB5B0I0D;AlBqxJlE;;A+Ch7JA;E3C+PQ,iCAf6B;E2C9OnC,gB5C+Y+B;E4C9Y/B,cAAc;EACd,W5Caa;E4CZb,yB5CEa;E4CDb,WAAW;A/Cm7Jb;;AI51JI;E2C7FJ;I3CsQQ,iBAlF6B;EJ0wJnC;AACF;;A+C/7JA;EAUI,W5COW;E4CNX,qBAAqB;A/Cy7JzB;;A+Cp8JA;EAgBI,YAAY;A/Cw7JhB;;A+Cx8JA;EAqBI,oBAAoB;A/Cu7JxB;;A+C76JA;EACE,UAAU;EACV,6BAA6B;EAC7B,SAAS;A/Cg7JX;;AgDl9JA;EACE,gB7CihCuC;E6ChhCvC,gBAAgB;E5CyPZ,mBAvE+B;E4C/KnC,2C7CEa;E6CDb,4BAA4B;EAC5B,oC7CkhCmD;E6CjhCnD,6C7CSa;E6CRb,mCAA2B;EAA3B,2BAA2B;EAC3B,UAAU;E3CQR,sBF+TgC;AH8oJpC;;AgD/9JA;EAcI,sB7CqgCsC;AHg9H1C;;AgDn+JA;EAkBI,UAAU;AhDq9Jd;;AgDv+JA;EAsBI,cAAc;EACd,UAAU;AhDq9Jd;;AgD5+JA;EA2BI,aAAa;AhDq9JjB;;AgDj9JA;EACE,aAAa;EACb,mBAAmB;EACnB,wB7Ci/BwC;E6Ch/BxC,c7CtBgB;E6CuBhB,2C7C7Ba;E6C8Bb,4BAA4B;EAC5B,4C7Cy/BoD;AH29HtD;;AgDj9JA;EACE,gB7Cy+BwC;AH2+H1C;;AiDx/JA;EAEE,gBAAgB;AjD0/JlB;;AiD5/JA;EAKI,kBAAkB;EAClB,gBAAgB;AjD2/JpB;;AiDt/JA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,a9C4yBsC;E8C3yBtC,aAAa;EACb,WAAW;EACX,YAAY;EACZ,gBAAgB;EAGhB,UAAU;AjDu/JZ;;AiDh/JA;EACE,kBAAkB;EAClB,WAAW;EACX,c9C8gCuC;E8C5gCvC,oBAAoB;AjDk/JtB;;AiD/+JE;E5B3BI,mClBmkCoD;E8CtiCtD,8B9CoiCmD;AH88HvD;;AqB3gKM;E4BuBJ;I5BtBM,gBAAgB;ErB+gKtB;AACF;;AiDt/JE;EACE,e9CkiCoC;AHu9HxC;;AiDr/JE;EACE,sB9C+hC2C;AHy9H/C;;AiDp/JA;EACE,6B/B+I8D;AlBw2JhE;;AiDx/JA;EAII,gBAAgB;AjDw/JpB;;AiD5/JA;EAQI,gBAAgB;AjDw/JpB;;AiDp/JA;EACE,aAAa;EACb,mBAAmB;EACnB,6B/BiI8D;AlBs3JhE;;AiDn/JA;EACE,kBAAkB;EAClB,aAAa;EACb,sBAAsB;EACtB,WAAW;EAGX,oBAAoB;EACpB,sB9C7Ea;E8C8Eb,4BAA4B;EAC5B,oC9CrEa;EECX,qBFiU+B;E8CzPjC,UAAU;AjDk/JZ;;AiD9+JA;EACE,eAAe;EACf,MAAM;EACN,OAAO;EACP,a9C8tBsC;E8C7tBtC,YAAY;EACZ,aAAa;EACb,sB9CpFa;AHqkKf;;AiDx/JA;EAUW,UAAU;AjDk/JrB;;AiD5/JA;EAWW,Y9C09B2B;AH2hItC;;AiDh/JA;EACE,aAAa;EACb,cAAc;EACd,uBAAuB;EACvB,8BAA8B;EAC9B,kB9CyHW;E8CxHX,gC9C1GgB;EEiBd,0Ca8K4D;Eb7K5D,2Ca6K4D;AlBg6JhE;;AiD3/JA;EAUI,kB9CoHS;E8ClHT,8BAA6F;AjDo/JjG;;AiD/+JA;EACE,gBAAgB;EAChB,gB9CqR+B;AH6tJjC;;AiD7+JA;EACE,kBAAkB;EAGlB,cAAc;EACd,a9CiGW;AH64Jb;;AiD1+JA;EACE,aAAa;EACb,eAAe;EACf,cAAc;EACd,mBAAmB;EACnB,yBAAyB;EACzB,gBAAgE;EAChE,6B9C5IgB;EE+Bd,8CagK4D;Eb/J5D,6Ca+J4D;AlB47JhE;;AiDt/JA;EAcI,eAAwC;AjD4+J5C;;AiDv+JA;EACE,kBAAkB;EAClB,YAAY;EACZ,WAAW;EACX,YAAY;EACZ,gBAAgB;AjD0+JlB;;AYllKI;EqC5BJ;IA2II,gB9C+5BqC;I8C95BrC,oBAAyC;EjDw+J3C;EiD9lKF;IA0HI,+B/BsB4D;ElBi9J9D;EiDrlKF;IAkHI,+B/BkB4D;ElBo9J9D;EiD/9JA;IAAY,gB9C84B2B;EHolIvC;AACF;;AYlmKI;EqCmIF;;IAEE,gB9C04BqC;EHylIvC;AACF;;AYzmKI;EqC0IF;IAAY,iB9Cs4B4B;EH8lIxC;AACF;;AiD79JI;EACE,YAAY;EACZ,eAAe;EACf,YAAY;EACZ,SAAS;AjDg+Jf;;AiDp+JI;EAOI,YAAY;EACZ,SAAS;E5CvMb,gB4CwM4B;AjDi+JhC;;AiD1+JI;E5C/LA,gB4C4M4B;AjDi+JhC;;AiD9+JI;EAiBI,gBAAgB;AjDi+JxB;;AiDl/JI;E5C/LA,gB4CoN4B;AjDi+JhC;;AY3nKI;EqCqIA;IACE,YAAY;IACZ,eAAe;IACf,YAAY;IACZ,SAAS;EjD0/Jb;EiD9/JE;IAOI,YAAY;IACZ,SAAS;I5CvMb,gB4CwM4B;EjD0/J9B;EiDngKE;I5C/LA,gB4C4M4B;EjDy/J9B;EiDtgKE;IAiBI,gBAAgB;EjDw/JtB;EiDzgKE;I5C/LA,gB4CoN4B;EjDu/J9B;AACF;;AYlpKI;EqCqIA;IACE,YAAY;IACZ,eAAe;IACf,YAAY;IACZ,SAAS;EjDihKb;EiDrhKE;IAOI,YAAY;IACZ,SAAS;I5CvMb,gB4CwM4B;EjDihK9B;EiD1hKE;I5C/LA,gB4C4M4B;EjDghK9B;EiD7hKE;IAiBI,gBAAgB;EjD+gKtB;EiDhiKE;I5C/LA,gB4CoN4B;EjD8gK9B;AACF;;AYzqKI;EqCqIA;IACE,YAAY;IACZ,eAAe;IACf,YAAY;IACZ,SAAS;EjDwiKb;EiD5iKE;IAOI,YAAY;IACZ,SAAS;I5CvMb,gB4CwM4B;EjDwiK9B;EiDjjKE;I5C/LA,gB4C4M4B;EjDuiK9B;EiDpjKE;IAiBI,gBAAgB;EjDsiKtB;EiDvjKE;I5C/LA,gB4CoN4B;EjDqiK9B;AACF;;AYhsKI;EqCqIA;IACE,YAAY;IACZ,eAAe;IACf,YAAY;IACZ,SAAS;EjD+jKb;EiDnkKE;IAOI,YAAY;IACZ,SAAS;I5CvMb,gB4CwM4B;EjD+jK9B;EiDxkKE;I5C/LA,gB4C4M4B;EjD8jK9B;EiD3kKE;IAiBI,gBAAgB;EjD6jKtB;EiD9kKE;I5C/LA,gB4CoN4B;EjD4jK9B;AACF;;AYvtKI;EqCqIA;IACE,YAAY;IACZ,eAAe;IACf,YAAY;IACZ,SAAS;EjDslKb;EiD1lKE;IAOI,YAAY;IACZ,SAAS;I5CvMb,gB4CwM4B;EjDslK9B;EiD/lKE;I5C/LA,gB4C4M4B;EjDqlK9B;EiDlmKE;IAiBI,gBAAgB;EjDolKtB;EiDrmKE;I5C/LA,gB4CoN4B;EjDmlK9B;AACF;;AkDzzKA;EACE,kBAAkB;EAClB,a/Cg0BsC;E+C/zBtC,cAAc;EACd,S/Ci+BmC;EgDr+BnC,sChDmYqD;EgDjYrD,kBAAkB;EAClB,gBhD4Y+B;EgD3Y/B,gBhDiZ+B;EgDhZ/B,gBAAgB;EAChB,iBAAiB;EACjB,qBAAqB;EACrB,iBAAiB;EACjB,oBAAoB;EACpB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,gBAAgB;E/C4OZ,mBAvE+B;E8CzKnC,qBAAqB;EACrB,UAAU;AlDs0KZ;;AkDj1KA;EAaW,Y/Cq9B2B;AHm3ItC;;AkDr1KA;EAgBI,kBAAkB;EAClB,cAAc;EACd,a/Cq9BqC;E+Cp9BrC,c/Cq9BqC;AHo3IzC;;AkD51KA;EAsBM,kBAAkB;EAClB,WAAW;EACX,yBAAyB;EACzB,mBAAmB;AlD00KzB;;AkDr0KA;EACE,iBAAgC;AlDw0KlC;;AkDz0KA;EAII,SAAS;AlDy0Kb;;AkD70KA;EAOM,MAAM;EACN,6BAAgE;EAChE,sB/CvBS;AHi2Kf;;AkDr0KA;EACE,iB/C27BuC;AH64IzC;;AkDz0KA;EAII,OAAO;EACP,a/Cu7BqC;E+Ct7BrC,c/Cq7BqC;AHo5IzC;;AkD/0KA;EASM,QAAQ;EACR,oCAA2F;EAC3F,wB/CvCS;AHi3Kf;;AkDr0KA;EACE,iBAAgC;AlDw0KlC;;AkDz0KA;EAII,MAAM;AlDy0KV;;AkD70KA;EAOM,SAAS;EACT,6B/Co6BmC;E+Cn6BnC,yB/CrDS;AH+3Kf;;AkDr0KA;EACE,iB/C65BuC;AH26IzC;;AkDz0KA;EAII,QAAQ;EACR,a/Cy5BqC;E+Cx5BrC,c/Cu5BqC;AHk7IzC;;AkD/0KA;EASM,OAAO;EACP,oC/Co5BmC;E+Cn5BnC,uB/CrES;AH+4Kf;;AkDrzKA;EACE,gB/Cm3BuC;E+Cl3BvC,uB/Cw3B6C;E+Cv3B7C,W/CvGa;E+CwGb,kBAAkB;EAClB,sB/C/Fa;EECX,sBF+TgC;AHwlKpC;;AoDz6KA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,ajD8zBsC;EiD7zBtC,cAAc;EACd,gBjDm/BuC;EgDx/BvC,sChDmYqD;EgDjYrD,kBAAkB;EAClB,gBhD4Y+B;EgD3Y/B,gBhDiZ+B;EgDhZ/B,gBAAgB;EAChB,iBAAiB;EACjB,qBAAqB;EACrB,iBAAiB;EACjB,oBAAoB;EACpB,sBAAsB;EACtB,kBAAkB;EAClB,oBAAoB;EACpB,mBAAmB;EACnB,gBAAgB;E/C4OZ,mBAvE+B;EgDxKnC,qBAAqB;EACrB,sBjDNa;EiDOb,4BAA4B;EAC5B,oCjDEa;EECX,qBFiU+B;AHmnKnC;;AoDt8KA;EAoBI,kBAAkB;EAClB,cAAc;EACd,WjDm/BoC;EiDl/BpC,cjDm/BqC;EiDl/BrC,gBjD2T+B;AH2nKnC;;AoD98KA;EA4BM,kBAAkB;EAClB,cAAc;EACd,WAAW;EACX,yBAAyB;EACzB,mBAAmB;ApDs7KzB;;AoDj7KA;EACE,qBjDo+BuC;AHg9IzC;;AoDr7KA;EAII,2BlCgK4D;AlBqxKhE;;AoDz7KA;EAOM,SAAS;EACT,6BAAgE;EAChE,qCjD+9BiE;AHu9IvE;;AoD/7KA;EAaM,WjD4R2B;EiD3R3B,6BAAgE;EAChE,sBjD7CS;AHm+Kf;;AoDj7KA;EACE,mBjDg9BuC;AHo+IzC;;AoDr7KA;EAII,yBlC4I4D;EkC3I5D,ajD48BqC;EiD38BrC,YjD08BoC;EiDz8BpC,gBAAgC;ApDq7KpC;;AoD57KA;EAUM,OAAO;EACP,oCAA2F;EAC3F,uCjDw8BiE;AH8+IvE;;AoDl8KA;EAgBM,SjDqQ2B;EiDpQ3B,oCAA2F;EAC3F,wBjDpES;AH0/Kf;;AoDj7KA;EACE,kBjDy7BuC;AH2/IzC;;AoDr7KA;EAII,wBlCqH4D;AlBg0KhE;;AoDz7KA;EAOM,MAAM;EACN,oCAA2F;EAC3F,wCjDo7BiE;AHkgJvE;;AoD/7KA;EAaM,QjDiP2B;EiDhP3B,oCAA2F;EAC3F,yBjDxFS;AH8gLf;;AoDr8KA;EAqBI,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,cAAc;EACd,WjDg6BoC;EiD/5BpC,oBAAsC;EACtC,WAAW;EACX,gCjDo5BuD;AHgiJ3D;;AoDh7KA;EACE,oBjDy5BuC;AH0hJzC;;AoDp7KA;EAII,0BlCqF4D;EkCpF5D,ajDq5BqC;EiDp5BrC,YjDm5BoC;EiDl5BpC,gBAAgC;ApDo7KpC;;AoD37KA;EAUM,QAAQ;EACR,oCjD+4BmC;EiD94BnC,sCjDi5BiE;AHoiJvE;;AoDj8KA;EAgBM,UjD8M2B;EiD7M3B,oCjDy4BmC;EiDx4BnC,uBjD3HS;AHgjLf;;AoD/5KA;EACE,oBjDmFW;EiDlFX,gBAAgB;EhDiGZ,eAvE+B;EgDvBnC,yBjDm2ByD;EiDl2BzD,gCAAyE;E/CnIvE,0Ca8K4D;Eb7K5D,2Ca6K4D;AlBw3KhE;;AoDz6KA;EAUI,aAAa;ApDm6KjB;;AoD/5KA;EACE,kBjDqEW;EiDpEX,cjDxJgB;AH0jLlB;;AqD7jLA;EACE,kBAAkB;ArDgkLpB;;AqD7jLA;EACE,mBAAmB;ArDgkLrB;;AqD7jLA;EACE,kBAAkB;EAClB,WAAW;EACX,gBAAgB;ArDgkLlB;;AsDtlLE;EACE,cAAc;EACd,WAAW;EACX,WAAW;AtDylLf;;AqDlkLA;EACE,kBAAkB;EAClB,aAAa;EACb,WAAW;EACX,WAAW;EACX,mBAAmB;EACnB,mCAA2B;EAA3B,2BAA2B;EhClBvB,sClByrCkF;AH+5IxF;;AqBplLM;EgCQN;IhCPQ,gBAAgB;ErBwlLtB;AACF;;AqDxkLA;;;EAGE,cAAc;ArD2kLhB;;AqDxkLA;;EAEE,2BAA2B;ArD2kL7B;;AqDxkLA;;EAEE,4BAA4B;ArD2kL9B;;AqDnkLA;EAEI,UAAU;EACV,4BAA4B;EAC5B,eAAe;ArDqkLnB;;AqDzkLA;;;EAUI,UAAU;EACV,UAAU;ArDqkLd;;AqDhlLA;;EAgBI,UAAU;EACV,UAAU;EhC5DR,2BlBwrCkC;AH08IxC;;AqB9nLM;EgCuCN;;IhCtCQ,gBAAgB;ErBmoLtB;AACF;;AqDnkLA;;EAEE,kBAAkB;EAClB,MAAM;EACN,SAAS;EACT,UAAU;EAEV,aAAa;EACb,mBAAmB;EACnB,uBAAuB;EACvB,UlDglCsC;EkD/kCtC,WlD1Fa;EkD2Fb,kB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;AhEggMzE;;AgElgMM;EAEI,wBAA+D;AhEogMzE;;AgEtgMM;EAEI,0BAA+D;AhEwgMzE;;AgE1gMM;EAEI,gCAA+D;AhE4gMzE;;AgE9gMM;EAEI,yBAA+D;AhEghMzE;;AgElhMM;EAEI,yBAA+D;AhEohMzE;;AgEthMM;EAEI,6BAA+D;AhEwhMzE;;AgE1hMM;EAEI,8BAA+D;AhE4hMzE;;AgE9hMM;EAEI,wBAA+D;AhEgiMzE;;AgEliMM;EAEI,+BAA+D;AhEoiMzE;;AgEtiMM;EAEI,wDAA+D;AhEwiMzE;;AgE1iMM;EAEI,8DAA+D;AhE4iMzE;;AgE9iMM;EAEI,uDAA+D;AhEgjMzE;;AgEljMM;EAEI,2BAA+D;AhEojMzE;;AgEtjMM;EAEI,2BAA+D;AhEwjMzE;;AgE1jMM;EAEI,6BAA+D;AhE4jMzE;;AgE9jMM;EAEI,6BAA+D;AhEgkMzE;;AgElkMM;EAEI,0BAA+D;AhEokMzE;;AgEtkMM;EAEI,mCAA+D;EAA/D,2BAA+D;AhEwkMzE;;AgE1kMM;EAEI,oCAA+D;AhE4kMzE;;AgE9kMM;EAEI,oBAA+D;AhEglMzE;;AgEllMM;EAEI,wCAA+D;AhEolMzE;;AgEtlMM;EAEI,wBAA+D;AhEwlMzE;;AgE1lMM;EAEI,0CAA+D;AhE4lMzE;;AgE9lMM;EAEI,0BAA+D;AhEgmMzE;;AgElmMM;EAEI,2CAA+D;AhEomMzE;;AgEtmMM;EAEI,2BAA+D;AhEwmMzE;;AgE1mMM;EAEI,yCAA+D;AhE4mMzE;;AgE9mMM;EAEI,yBAA+D;AhEgnMzE;;AgElnMM;EAEI,gCAA+D;AhEonMzE;;AgEtnMM;EAEI,gCAA+D;AhEwnMzE;;AgE1nMM;EAEI,gCAA+D;AhE4nMzE;;AgE9nMM;EAEI,gCAA+D;AhEgoMzE;;AgEloMM;EAEI,gCAA+D;AhEooMzE;;AgEtoMM;EAEI,gCAA+D;AhEwoMzE;;AgE1oMM;EAEI,gCAA+D;AhE4oMzE;;AgE9oMM;EAEI,gCAA+D;AhEgpMzE;;AgElpMM;EAEI,6BAA+D;AhEopMzE;;AgEtpMM;EAEI,qBAA+D;AhEwpMzE;;AgE1pMM;EAEI,qBAA+D;AhE4pMzE;;AgE9pMM;EAEI,qBAA+D;AhEgqMzE;;AgElqMM;EAEI,sBAA+D;AhEoqMzE;;AgEtqMM;EAEI,sBAA+D;AhEwqMzE;;AgE1qMM;EAEI,0BAA+D;AhE4qMzE;;AgE9qMM;EAEI,uBAA+D;AhEgrMzE;;AgElrMM;EAEI,2BAA+D;AhEorMzE;;AgEtrMM;EAEI,sBAA+D;AhEwrMzE;;AgE1rMM;EAEI,sBAA+D;AhE4rMzE;;AgE9rMM;EAEI,sBAA+D;AhEgsMzE;;AgElsMM;EAEI,uBAA+D;AhEosMzE;;AgEtsMM;EAEI,uBAA+D;AhEwsMzE;;AgE1sMM;EAEI,2BAA+D;AhE4sMzE;;AgE9sMM;EAEI,wBAA+D;AhEgtMzE;;AgEltMM;EAEI,4BAA+D;AhEotMzE;;AgEttMM;EAEI,yBAA+D;AhEwtMzE;;AgE1tMM;EAEI,8BAA+D;AhE4tMzE;;AgE9tMM;EAEI,iCAA+D;AhEguMzE;;AgEluMM;EAEI,sCAA+D;AhEouMzE;;AgEtuMM;EAEI,yCAA+D;AhEwuMzE;;AgE1uMM;EAEI,uBAA+D;AhE4uMzE;;AgE9uMM;EAEI,uBAA+D;AhEgvMzE;;AgElvMM;EAEI,yBAA+D;AhEovMzE;;AgEtvMM;EAEI,yBAA+D;AhEwvMzE;;AgE1vMM;EAEI,0BAA+D;AhE4vMzE;;AgE9vMM;EAEI,4BAA+D;AhEgwMzE;;AgElwMM;EAEI,kCAA+D;AhEowMzE;;AgEtwMM;EAEI,sCAA+D;AhEwwMzE;;AgE1wMM;EAEI,oCAA+D;AhE4wMzE;;AgE9wMM;EAEI,kCAA+D;AhEgxMzE;;AgElxMM;EAEI,yCAA+D;AhEoxMzE;;AgEtxMM;EAEI,wCAA+D;AhEwxMzE;;AgE1xMM;EAEI,wCAA+D;AhE4xMzE;;AgE9xMM;EAEI,kCAA+D;AhEgyMzE;;AgElyMM;EAEI,gCAA+D;AhEoyMzE;;AgEtyMM;EAEI,8BAA+D;AhEwyMzE;;AgE1yMM;EAEI,gCAA+D;AhE4yMzE;;AgE9yMM;EAEI,+BAA+D;AhEgzMzE;;AgElzMM;EAEI,oCAA+D;AhEozMzE;;AgEtzMM;EAEI,kCAA+D;AhEwzMzE;;AgE1zMM;EAEI,gCAA+D;AhE4zMzE;;AgE9zM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;;AgE5wNM;EAEI,+BAA+D;AhE8wNzE;;AgEhxNM;EAEI,2BAA+D;AhEkxNzE;;AgEpxNM;EAEI,2BAA+D;AhEsxNzE;;AgExxNM;EAEI,8BAA+D;AhE0xNzE;;AgE5xNM;EAEI,oCAA+D;AhE8xNzE;;AgEhyNM;EAEI,oCAA+D;AhEkyNzE;;AgEpyNM;EAEI,qCAA+D;AhEsyNzE;;AgExyNM;EAEI,2BAA+D;AhE0yNzE;;AgE5yNM;EAEI,4BAA+D;AhE8yNzE;;AgEhzNM;EAEI,6BAA+D;AhEkzNzE;;AgEpzNM;EAEI,yBAA+D;AhEszNzE;;AgExzNM;EAEI,yBAA+D;AhE0zNzE;;AgE5zNM;EAEI,yBAA+D;AhE8zNzE;;AgEh0NM;EAEI,yBAA+D;AhEk0NzE;;AgEp0NM;EAEI,yBAA+D;AhEs0NzE;;AgEx0NM;EAEI,yBAA+D;AhE00NzE;;AgE50NM;EAEI,yBAA+D;AhE80NzE;;AgEh1NM;EAEI,yBAA+D;AhEk1NzE;;AgEp1NM;EAEI,sBAA+D;AhEs1NzE;;AgEx1NM;EAEI,yBAA+D;AhE01NzE;;AgE51NM;EAEI,yBAA+D;AhE81NzE;;AgEh2NM;EAEI,oCAA+D;AhEk2NzE;;AgEp2NM;EAEI,0CAA+D;AhEs2NzE;;AgEx2NM;EAEI,yBAA+D;AhE02NzE;;AgE52NM;EAEI,yBAA+D;AhE82NzE;;AgEh3NM;EAEI,4BAA+D;AhEk3NzE;;AgEp3NM;EAEI,2BAA+D;AhEs3NzE;;AgEx3NM;EAEI,yBAA+D;AhE03NzE;;AgE53NM;EAEI,oCAA+D;AhE83NzE;;AgEh4NM;EAEI,oCAA+D;AhEk4NzE;;AgEp4NM;EAEI,oCAA+D;AhEs4NzE;;AgEx4NM;EAEI,oCAA+D;AhE04NzE;;AgE54NM;EAEI,oCAA+D;AhE84NzE;;AgEh5NM;EAEI,oCAA+D;AhEk5NzE;;AgEp5NM;EAEI,oCAA+D;AhEs5NzE;;AgEx5NM;EAEI,oCAA+D;AhE05NzE;;AgE55NM;EAEI,iCAA+D;AhE85NzE;;AgEh6NM;EAEI,iCAA+D;AhEk6NzE;;AgEp6NM;EAEI,wCAA+D;AhEs6NzE;;AgEx6NM;EAEI,+CAA+D;AhE06NzE;;AgE56NM;EAEI,8BAA+D;AhE86NzE;;AgEh7NM;EAEI,8BAA+D;AhEk7NzE;;AgEp7NM;EAEI,gCAA+D;AhEs7NzE;;AgEx7NM;EAEI,qCAA+D;AhE07NzE;;AgE57NM;EAEI,wCAA+D;AhE87NzE;;AgEh8NM;EAEI,6BAA+D;AhEk8NzE;;AgEp8NM;EAEI,6BAA+D;AhEs8NzE;;AgEx8NM;EAEI,gCAA+D;EAA/D,iCAA+D;AhE28NzE;;AgE78NM;EAEI,gDAA+D;AhE+8NzE;;AgEj9NM;EAEI,mCAA+D;EAA/D,gCAA+D;EAA/D,+BAA+D;EAA/D,2BAA+D;AhEm9NzE;;AgEr9NM;EAEI,oCAA+D;EAA/D,iCAA+D;EAA/D,gCAA+D;EAA/D,4BAA+D;AhEu9NzE;;AgEz9NM;EAEI,oCAA+D;EAA/D,iCAA+D;EAA/D,gCAA+D;EAA/D,4BAA+D;AhE29NzE;;AgE79NM;EAEI,+BAA+D;AhE+9NzE;;AgEj+NM;EAEI,+BAA+D;AhEm+NzE;;AgEr+NM;EAEI,iCAA+D;AhEu+NzE;;AgEz+NM;EAEI,gCAA+D;AhE2+NzE;;AgE7+NM;EAEI,gCAA+D;AhE++NzE;;AgEj/NM;EAEI,6BAA+D;AhEm/NzE;;AgEr/NM;EAEI,+BAA+D;AhEu/NzE;;AgEz/NM;EAEI,2BAA+D;AhE2/NzE;;AgE7/NM;EAEI,0CAA+D;EAA/D,2CAA+D;AhEggOzE;;AgElgOM;EAEI,2CAA+D;EAA/D,8CAA+D;AhEqgOzE;;AgEvgOM;EAEI,8CAA+D;EAA/D,6CAA+D;AhE0gOzE;;AgE5gOM;EAEI,6CAA+D;EAA/D,0CAA+D;AhE+gOzE;;AgEjhOM;EAEI,8BAA+D;AhEmhOzE;;AgErhOM;EAEI,6BAA+D;AhEuhOzE;;AYngOI;EoDtBE;IAEI,sBAA+D;EhE4hOvE;EgE9hOI;IAEI,uBAA+D;EhE+hOvE;EgEjiOI;IAEI,sBAA+D;EhEkiOvE;EgEpiOI;IAEI,wBAA+D;EhEqiOvE;EgEviOI;IAEI,0BAA+D;EhEwiOvE;EgE1iOI;IAEI,gCAA+D;EhE2iOvE;EgE7iOI;IAEI,yBAA+D;EhE8iOvE;EgEhjOI;IAEI,yBAA+D;EhEijOvE;EgEnjOI;IAEI,6BAA+D;EhEojOvE;EgEtjOI;IAEI,8BAA+D;EhEujOvE;EgEzjOI;IAEI,wBAA+D;EhE0jOvE;EgE5jOI;IAEI,+BAA+D;EhE6jOvE;EgE/jOI;IAEI,yBAA+D;EhEgkOvE;EgElkOI;IAEI,8BAA+D;EhEmkOvE;EgErkOI;IAEI,iCAA+D;EhEskOvE;EgExkOI;IAEI,sCAA+D;EhEykOvE;EgE3kOI;IAEI,yCAA+D;EhE4kOvE;EgE9kOI;IAEI,uBAA+D;EhE+kOvE;EgEjlOI;IAEI,uBAA+D;EhEklOvE;EgEplOI;IAEI,yBAA+D;EhEqlOvE;EgEvlOI;IAEI,yBAA+D;EhEwlOvE;EgE1lOI;IAEI,0BAA+D;EhE2lOvE;EgE7lOI;IAEI,4BAA+D;EhE8lOvE;EgEhmOI;IAEI,kCAA+D;EhEimOvE;EgEnmOI;IAEI,sCAA+D;EhEomOvE;EgEtmOI;IAEI,oCAA+D;EhEumOvE;EgEzmOI;IAEI,kCAA+D;EhE0mOvE;EgE5mOI;IAEI,yCAA+D;EhE6mOvE;EgE/mOI;IAEI,wCAA+D;EhEgnOvE;EgElnOI;IAEI,wCAA+D;EhEmnOvE;EgErnOI;IAEI,kCAA+D;EhEsnOvE;EgExnOI;IAEI,gCAA+D;EhEynOvE;EgE3nOI;IAEI,8BAA+D;EhE4nOvE;EgE9nOI;IAEI,gCAA+D;EhE+nOvE;EgEjoOI;IAEI,+BAA+D;EhEkoOvE;EgEpoOI;IAEI,oCAA+D;EhEqoOvE;EgEvoOI;IAEI,kCAA+D;EhEwoOvE;EgE1oOI;IAEI,gCAA+D;EhE2oOvE;EgE7oOI;IAEI,uCAA+D;EhE8oOvE;EgEhpOI;IAEI,sCAA+D;EhEipOvE;EgEnpOI;IAEI,iCAA+D;EhEopOvE;EgEtpOI;IAEI,2BAA+D;EhEupOvE;EgEzpOI;IAEI,iCAA+D;EhE0pOvE;EgE5pOI;IAEI,+BAA+D;EhE6pOvE;EgE/pOI;IAEI,6BAA+D;EhEgqOvE;EgElqOI;IAEI,+BAA+D;EhEmqOvE;EgErqOI;IAEI,8BAA+D;EhEsqOvE;EgExqOI;IAEI,oBAA+D;EhEyqOvE;EgE3qOI;IAEI,mBAA+D;EhE4qOvE;EgE9qOI;IAEI,mBAA+D;EhE+qOvE;EgEjrOI;IAEI,mBAA+D;EhEkrOvE;EgEprOI;IAEI,mBAA+D;EhEqrOvE;EgEvrOI;IAEI,mBAA+D;EhEwrOvE;EgE1rOI;IAEI,mBAA+D;EhE2rOvE;EgE7rOI;IAEI,mBAA+D;EhE8rOvE;EgEhsOI;IAEI,oBAA+D;EhEisOvE;EgEnsOI;IAEI,0BAA+D;EhEosOvE;EgEtsOI;IAEI,yBAA+D;EhEusOvE;EgEzsOI;IAEI,uBAA+D;EhE0sOvE;EgE5sOI;IAEI,yBAA+D;EhE6sOvE;EgE/sOI;IAEI,uBAA+D;EhEgtOvE;EgEltOI;IAEI,uBAA+D;EhEmtOvE;EgErtOI;IAEI,0BAA+D;IAA/D,yBAA+D;EhEutOvE;EgEztOI;IAEI,gCAA+D;IAA/D,+BAA+D;EhE2tOvE;EgE7tOI;IAEI,+BAA+D;IAA/D,8BAA+D;EhE+tOvE;EgEjuOI;IAEI,6BAA+D;IAA/D,4BAA+D;EhEmuOvE;EgEruOI;IAEI,+BAA+D;IAA/D,8BAA+D;EhEuuOvE;EgEzuOI;IAEI,6BAA+D;IAA/D,4BAA+D;EhE2uOvE;EgE7uOI;IAEI,6BAA+D;IAA/D,4BAA+D;EhE+uOvE;EgEjvOI;IAEI,wBAA+D;IAA/D,2BAA+D;EhEmvOvE;EgErvOI;IAEI,8BAA+D;IAA/D,iCAA+D;EhEuvOvE;EgEzvOI;IAEI,6BAA+D;IAA/D,gCAA+D;EhE2vOvE;EgE7vOI;IAEI,2BAA+D;IAA/D,8BAA+D;EhE+vOvE;EgEjwOI;IAEI,6BAA+D;IAA/D,gCAA+D;EhEmwOvE;EgErwOI;IAEI,2BAA+D;IAA/D,8BAA+D;EhEuwOvE;EgEzwOI;IAEI,2BAA+D;IAA/D,8BAA+D;EhE2wOvE;EgE7wOI;IAEI,wBAA+D;EhE8wOvE;EgEhxOI;IAEI,8BAA+D;EhEixOvE;EgEnxOI;IAEI,6BAA+D;EhEoxOvE;EgEtxOI;IAEI,2BAA+D;EhEuxOvE;EgEzxOI;IAEI,6BAA+D;EhE0xOvE;EgE5xOI;IAEI,2BAA+D;EhE6xOvE;EgE/xOI;IAEI,2BAA+D;EhEgyOvE;EgElyOI;IAEI,0BAA+D;EhEmyOvE;EgEryOI;IAEI,gCAA+D;EhEsyOvE;EgExyOI;IAEI,+BAA+D;EhEyyOvE;EgE3yOI;IAEI,6BAA+D;EhE4yOvE;EgE9yOI;IAEI,+BAA+D;EhE+yOvE;EgEjzOI;IAEI,6BAA+D;EhEkzOvE;EgEpzOI;IAEI,6BAA+D;EhEqzOvE;EgEvzOI;IAEI,2BAA+D;EhEwzOvE;EgE1zOI;IAEI,iCAA+D;EhE2zOvE;EgE7zOI;IAEI,gCAA+D;EhE8zOvE;EgEh0OI;IAEI,8BAA+D;EhEi0OvE;EgEn0OI;IAEI,gCAA+D;EhEo0OvE;EgEt0OI;IAEI,8BAA+D;EhEu0OvE;EgEz0OI;IAEI,8BAA+D;EhE00OvE;EgE50OI;IAEI,yBAA+D;EhE60OvE;EgE/0OI;IAEI,+BAA+D;EhEg1OvE;EgEl1OI;IAEI,8BAA+D;EhEm1OvE;EgEr1OI;IAEI,4BAA+D;EhEs1OvE;EgEx1OI;IAEI,8BAA+D;EhEy1OvE;EgE31OI;IAEI,4BAA+D;EhE41OvE;EgE91OI;IAEI,4BAA+D;EhE+1OvE;EgEj2OI;IAEI,qBAA+D;EhEk2OvE;EgEp2OI;IAEI,2BAA+D;EhEq2OvE;EgEv2OI;IAEI,0BAA+D;EhEw2OvE;EgE12OI;IAEI,wBAA+D;EhE22OvE;EgE72OI;IAEI,0BAA+D;EhE82OvE;EgEh3OI;IAEI,wBAA+D;EhEi3OvE;EgEn3OI;IAEI,2BAA+D;IAA/D,0BAA+D;EhEq3OvE;EgEv3OI;IAEI,iCAA+D;IAA/D,gCAA+D;EhEy3OvE;EgE33OI;IAEI,gCAA+D;IAA/D,+BAA+D;EhE63OvE;EgE/3OI;IAEI,8BAA+D;IAA/D,6BAA+D;EhEi4OvE;EgEn4OI;IAEI,gCAA+D;IAA/D,+BAA+D;EhEq4OvE;EgEv4OI;IAEI,8BAA+D;IAA/D,6BAA+D;EhEy4OvE;EgE34OI;IAEI,yBAA+D;IAA/D,4BAA+D;EhE64OvE;EgE/4OI;IAEI,+BAA+D;IAA/D,kCAA+D;EhEi5OvE;EgEn5OI;IAEI,8BAA+D;IAA/D,iCAA+D;EhEq5OvE;EgEv5OI;IAEI,4BAA+D;IAA/D,+BAA+D;EhEy5OvE;EgE35OI;IAEI,8BAA+D;IAA/D,iCAA+D;EhE65OvE;EgE/5OI;IAEI,4BAA+D;IAA/D,+BAA+D;EhEi6OvE;EgEn6OI;IAEI,yBAA+D;EhEo6OvE;EgEt6OI;IAEI,+BAA+D;EhEu6OvE;EgEz6OI;IAEI,8BAA+D;EhE06OvE;EgE56OI;IAEI,4BAA+D;EhE66OvE;EgE/6OI;IAEI,8BAA+D;EhEg7OvE;EgEl7OI;IAEI,4BAA+D;EhEm7OvE;EgEr7OI;IAEI,2BAA+D;EhEs7OvE;EgEx7OI;IAEI,iCAA+D;EhEy7OvE;EgE37OI;IAEI,gCAA+D;EhE47OvE;EgE97OI;IAEI,8BAA+D;EhE+7OvE;EgEj8OI;IAEI,gCAA+D;EhEk8OvE;EgEp8OI;IAEI,8BAA+D;EhEq8OvE;EgEv8OI;IAEI,4BAA+D;EhEw8OvE;EgE18OI;IAEI,kCAA+D;EhE28OvE;EgE78OI;IAEI,iCAA+D;EhE88OvE;EgEh9OI;IAEI,+BAA+D;EhEi9OvE;EgEn9OI;IAEI,iCAA+D;EhEo9OvE;EgEt9OI;IAEI,+BAA+D;EhEu9OvE;EgEz9OI;IAEI,0BAA+D;EhE09OvE;EgE59OI;IAEI,gCAA+D;EhE69OvE;EgE/9OI;IAEI,+BAA+D;EhEg+OvE;EgEl+OI;IAEI,6BAA+D;EhEm+OvE;EgEr+OI;IAEI,+BAA+D;EhEs+OvE;EgEx+OI;IAEI,6BAA+D;EhEy+OvE;EgE3+OI;IAEI,2BAA+D;EhE4+OvE;EgE9+OI;IAEI,4BAA+D;EhE++OvE;EgEj/OI;IAEI,6BAA+D;EhEk/OvE;AACF;;AY/9OI;EoDtBE;IAEI,sBAA+D;EhEw/OvE;EgE1/OI;IAEI,uBAA+D;EhE2/OvE;EgE7/OI;IAEI,sBAA+D;EhE8/OvE;EgEhgPI;IAEI,wBAA+D;EhEigPvE;EgEngPI;IAEI,0BAA+D;EhEogPvE;EgEtgPI;IAEI,gCAA+D;EhEugPvE;EgEzgPI;IAEI,yBAA+D;EhE0gPvE;EgE5gPI;IAEI,yBAA+D;EhE6gPvE;EgE/gPI;IAEI,6BAA+D;EhEghPvE;EgElhPI;IAEI,8BAA+D;EhEmhPvE;EgErhPI;IAEI,wBAA+D;EhEshPvE;EgExhPI;IAEI,+BAA+D;EhEyhPvE;EgE3hPI;IAEI,yBAA+D;EhE4hPvE;EgE9hPI;IAEI,8BAA+D;EhE+hPvE;EgEjiPI;IAEI,iCAA+D;EhEkiPvE;EgEpiPI;IAEI,sCAA+D;EhEqiPvE;EgEviPI;IAEI,yCAA+D;EhEwiPvE;EgE1iPI;IAEI,uBAA+D;EhE2iPvE;EgE7iPI;IAEI,uBAA+D;EhE8iPvE;EgEhjPI;IAEI,yBAA+D;EhEijPvE;EgEnjPI;IAEI,yBAA+D;EhEojPvE;EgEtjPI;IAEI,0BAA+D;EhEujPvE;EgEzjPI;IAEI,4BAA+D;EhE0jPvE;EgE5jPI;IAEI,kCAA+D;EhE6jPvE;EgE/jPI;IAEI,sCAA+D;EhEgkPvE;EgElkPI;IAEI,oCAA+D;EhEmkPvE;EgErkPI;IAEI,kCAA+D;EhEskPvE;EgExkPI;IAEI,yCAA+D;EhEykPvE;EgE3kPI;IAEI,wCAA+D;EhE4kPvE;EgE9kPI;IAEI,wCAA+D;EhE+kPvE;EgEjlPI;IAEI,kCAA+D;EhEklPvE;EgEplPI;IAEI,gCAA+D;EhEqlPvE;EgEvlPI;IAEI,8BAA+D;EhEwlPvE;EgE1lPI;IAEI,gCAA+D;EhE2lPvE;EgE7lPI;IAEI,+BAA+D;EhE8lPvE;EgEhmPI;IAEI,oCAA+D;EhEimPvE;EgEnmPI;IAEI,kCAA+D;EhEomPvE;EgEtmPI;IAEI,gCAA+D;EhEumPvE;EgEzmPI;IAEI,uCAA+D;EhE0mPvE;EgE5mPI;IAEI,sCAA+D;EhE6mPvE;EgE/mPI;IAEI,iCAA+D;EhEgnPvE;EgElnPI;IAEI,2BAA+D;EhEmnPvE;EgErnPI;IAEI,iCAA+D;EhEsnPvE;EgExnPI;IAEI,+BAA+D;EhEynPvE;EgE3nPI;IAEI,6BAA+D;EhE4nPvE;EgE9nPI;IAEI,+BAA+D;EhE+nPvE;EgEjoPI;IAEI,8BAA+D;EhEkoPvE;EgEpoPI;IAEI,oBAA+D;EhEqoPvE;EgEvoPI;IAEI,mBAA+D;EhEwoPvE;EgE1oPI;IAEI,mBAA+D;EhE2oPvE;EgE7oPI;IAEI,mBAA+D;EhE8oPvE;EgEhpPI;IAEI,mBAA+D;EhEipPvE;EgEnpPI;IAEI,mBAA+D;EhEopPvE;EgEtpPI;IAEI,mBAA+D;EhEupPvE;EgEzpPI;IAEI,mBAA+D;EhE0pPvE;EgE5pPI;IAEI,oBAA+D;EhE6pPvE;EgE/pPI;IAEI,0BAA+D;EhEgqPvE;EgElqPI;IAEI,yBAA+D;EhEmqPvE;EgErqPI;IAEI,uBAA+D;EhEsqPvE;EgExqPI;IAEI,yBAA+D;EhEyqPvE;EgE3qPI;IAEI,uBAA+D;EhE4qPvE;EgE9qPI;IAEI,uBAA+D;EhE+qPvE;EgEjrPI;IAEI,0BAA+D;IAA/D,yBAA+D;EhEmrPvE;EgErrPI;IAEI,gCAA+D;IAA/D,+BAA+D;EhEurPvE;EgEzrPI;IAEI,+BAA+D;IAA/D,8BAA+D;EhE2rPvE;EgE7rPI;IAEI,6BAA+D;IAA/D,4BAA+D;EhE+rPvE;EgEjsPI;IAEI,+BAA+D;IAA/D,8BAA+D;EhEmsPvE;EgErsPI;IAEI,6BAA+D;IAA/D,4BAA+D;EhEusPvE;EgEzsPI;IAEI,6BAA+D;IAA/D,4BAA+D;EhE2sPvE;EgE7sPI;IAEI,wBAA+D;IAA/D,2BAA+D;EhE+sPvE;EgEjtPI;IAEI,8BAA+D;IAA/D,iCAA+D;EhEmtPvE;EgErtPI;IAEI,6BAA+D;IAA/D,gCAA+D;EhEutPvE;EgEztPI;IAEI,2BAA+D;IAA/D,8BAA+D;EhE2tPvE;EgE7tPI;IAEI,6BAA+D;IAA/D,gCAA+D;EhE+tPvE;EgEjuPI;IAEI,2BAA+D;IAA/D,8BAA+D;EhEmuPvE;EgEruPI;IAEI,2BAA+D;IAA/D,8BAA+D;EhEuuPvE;EgEzuPI;IAEI,wBAA+D;EhE0uPvE;EgE5uPI;IAEI,8BAA+D;EhE6uPvE;EgE/uPI;IAEI,6BAA+D;EhEgvPvE;EgElvPI;IAEI,2BAA+D;EhEmvPvE;EgErvPI;IAEI,6BAA+D;EhEsvPvE;EgExvPI;IAEI,2BAA+D;EhEyvPvE;EgE3vPI;IAEI,2BAA+D;EhE4vPvE;EgE9vPI;IAEI,0BAA+D;EhE+vPvE;EgEjwPI;IAEI,gCAA+D;EhEkwPvE;EgEpwPI;IAEI,+BAA+D;EhEqwPvE;EgEvwPI;IAEI,6BAA+D;EhEwwPvE;EgE1wPI;IAEI,+BAA+D;EhE2wPvE;EgE7wPI;IAEI,6BAA+D;EhE8wPvE;EgEhxPI;IAEI,6BAA+D;EhEixPvE;EgEnxPI;IAEI,2BAA+D;EhEoxPvE;EgEtxPI;IAEI,iCAA+D;EhEuxPvE;EgEzxPI;IAEI,gCAA+D;EhE0xPvE;EgE5xPI;IAEI,8BAA+D;EhE6xPvE;EgE/xPI;IAEI,gCAA+D;EhEgyPvE;EgElyPI;IAEI,8BAA+D;EhEmyPvE;EgEryPI;IAEI,8BAA+D;EhEsyPvE;EgExyPI;IAEI,yBAA+D;EhEyyPvE;EgE3yPI;IAEI,+BAA+D;EhE4yPvE;EgE9yPI;IAEI,8BAA+D;EhE+yPvE;EgEjzPI;IAEI,4BAA+D;EhEkzPvE;EgEpzPI;IAEI,8BAA+D;EhEqzPvE;EgEvzPI;IAEI,4BAA+D;EhEwzPvE;EgE1zPI;IAEI,4BAA+D;EhE2zPvE;EgE7zPI;IAEI,qBAA+D;EhE8zPvE;EgEh0PI;IAEI,2BAA+D;EhEi0PvE;EgEn0PI;IAEI,0BAA+D;EhEo0PvE;EgEt0PI;IAEI,wBAA+D;EhEu0PvE;EgEz0PI;IAEI,0BAA+D;EhE00PvE;EgE50PI;IAEI,wBAA+D;EhE60PvE;EgE/0PI;IAEI,2BAA+D;IAA/D,0BAA+D;EhEi1PvE;EgEn1PI;IAEI,iCAA+D;IAA/D,gCAA+D;EhEq1PvE;EgEv1PI;IAEI,gCAA+D;IAA/D,+BAA+D;EhEy1PvE;EgE31PI;IAEI,8BAA+D;IAA/D,6BAA+D;EhE61PvE;EgE/1PI;IAEI,gCAA+D;IAA/D,+BAA+D;EhEi2PvE;EgEn2PI;IAEI,8BAA+D;IAA/D,6BAA+D;EhEq2PvE;EgEv2PI;IAEI,yBAA+D;IAA/D,4BAA+D;EhEy2PvE;EgE32PI;IAEI,+BAA+D;IAA/D,kCAA+D;EhE62PvE;EgE/2PI;IAEI,8BAA+D;IAA/D,iCAA+D;EhEi3PvE;EgEn3PI;IAEI,4BAA+D;IAA/D,+BAA+D;EhEq3PvE;EgEv3PI;IAEI,8BAA+D;IAA/D,iCAA+D;EhEy3PvE;EgE33PI;IAEI,4BAA+D;IAA/D,+BAA+D;EhE63PvE;EgE/3PI;IAEI,yBAA+D;EhEg4PvE;EgEl4PI;IAEI,+BAA+D;EhEm4PvE;EgEr4PI;IAEI,8BAA+D;EhEs4PvE;EgEx4PI;IAEI,4BAA+D;EhEy4PvE;EgE34PI;IAEI,8BAA+D;EhE44PvE;EgE94PI;IAEI,4BAA+D;EhE+4PvE;EgEj5PI;IAEI,2BAA+D;EhEk5PvE;EgEp5PI;IAEI,iCAA+D;EhEq5PvE;EgEv5PI;IAEI,gCAA+D;EhEw5PvE;EgE15PI;IAEI,8BAA+D;EhE25PvE;EgE75PI;IAEI,gCAA+D;EhE85PvE;EgEh6PI;IAEI,8BAA+D;EhEi6PvE;EgEn6PI;IAEI,4BAA+D;EhEo6PvE;EgEt6PI;IAEI,kCAA+D;EhEu6PvE;EgEz6PI;IAEI,iCAA+D;EhE06PvE;EgE56PI;IAEI,+BAA+D;EhE66PvE;EgE/6PI;IAEI,iCAA+D;EhEg7PvE;EgEl7PI;IAEI,+BAA+D;EhEm7PvE;EgEr7PI;IAEI,0BAA+D;EhEs7PvE;EgEx7PI;IAEI,gCAA+D;EhEy7PvE;EgE37PI;IAEI,+BAA+D;EhE47PvE;EgE97PI;IAEI,6BAA+D;EhE+7PvE;EgEj8PI;IAEI,+BAA+D;EhEk8PvE;EgEp8PI;IAEI,6BAA+D;EhEq8PvE;EgEv8PI;IAEI,2BAA+D;EhEw8PvE;EgE18PI;IAEI,4BAA+D;EhE28PvE;EgE78PI;IAEI,6BAA+D;EhE88PvE;AACF;;AY37PI;EoDtBE;IAEI,sBAA+D;EhEo9PvE;EgEt9PI;IAEI,uBAA+D;EhEu9PvE;EgEz9PI;IAEI,sBAA+D;EhE09PvE;EgE59PI;IAEI,wBAA+D;EhE69PvE;EgE/9PI;IAEI,0BAA+D;EhEg+PvE;EgEl+PI;IAEI,gCAA+D;EhEm+PvE;EgEr+PI;IAEI,yBAA+D;EhEs+PvE;EgEx+PI;IAEI,yBAA+D;EhEy+PvE;EgE3+PI;IAEI,6BAA+D;EhE4+PvE;EgE9+PI;IAEI,8BAA+D;EhE++PvE;EgEj/PI;IAEI,wBAA+D;EhEk/PvE;EgEp/PI;IAEI,+BAA+D;EhEq/PvE;EgEv/PI;IAEI,yBAA+D;EhEw/PvE;EgE1/PI;IAEI,8BAA+D;EhE2/PvE;EgE7/PI;IAEI,iCAA+D;EhE8/PvE;EgEhgQI;IAEI,sCAA+D;EhEigQvE;EgEngQI;IAEI,yCAA+D;EhEogQvE;EgEtgQI;IAEI,uBAA+D;EhEugQvE;EgEzgQI;IAEI,uBAA+D;EhE0gQvE;EgE5gQI;IAEI,yBAA+D;EhE6gQvE;EgE/gQI;IAEI,yBAA+D;EhEghQvE;EgElhQI;IAEI,0BAA+D;EhEmhQvE;EgErhQI;IAEI,4BAA+D;EhEshQvE;EgExhQI;IAEI,kCAA+D;EhEyhQvE;EgE3hQI;IAEI,sCAA+D;EhE4hQvE;EgE9hQI;IAEI,oCAA+D;EhE+hQvE;EgEjiQI;IAEI,kCAA+D;EhEkiQvE;EgEpiQI;IAEI,yCAA+D;EhEqiQvE;EgEviQI;IAEI,wCAA+D;EhEwiQvE;EgE1iQI;IAEI,wCAA+D;EhE2iQvE;EgE7iQI;IAEI,kCAA+D;EhE8iQvE;EgEhjQI;IAEI,gCAA+D;EhEijQvE;EgEnjQI;IAEI,8BAA+D;EhEojQvE;EgEtjQI;IAEI,gCAA+D;EhEujQvE;EgEzjQI;IAEI,+BAA+D;EhE0jQvE;EgE5jQI;IAEI,oCAA+D;EhE6jQvE;EgE/jQI;IAEI,kCAA+D;EhEgkQvE;EgElkQI;IAEI,gCAA+D;EhEmkQvE;EgErkQI;IAEI,uCAA+D;EhEskQvE;EgExkQI;IAEI,sCAA+D;EhEykQvE;EgE3kQI;IAEI,iCAA+D;EhE4kQvE;EgE9kQI;IAEI,2BAA+D;EhE+kQvE;EgEjlQI;IAEI,iCAA+D;EhEklQvE;EgEplQI;IAEI,+BAA+D;EhEqlQvE;EgEvlQI;IAEI,6BAA+D;EhEwlQvE;EgE1lQI;IAEI,+BAA+D;EhE2lQvE;EgE7lQI;IAEI,8BAA+D;EhE8lQvE;EgEhmQI;IAEI,oBAA+D;EhEimQvE;EgEnmQI;IAEI,mBAA+D;EhEomQvE;EgEtmQI;IAEI,mBAA+D;EhEumQvE;EgEzmQI;IAEI,mBAA+D;EhE0mQvE;EgE5mQI;IAEI,mBAA+D;EhE6mQvE;EgE/mQI;IAEI,mBAA+D;EhEgnQvE;EgElnQI;IAEI,mBAA+D;EhEmnQvE;EgErnQI;IAEI,mBAA+D;EhEsnQvE;EgExnQI;IAEI,oBAA+D;EhEynQvE;EgE3nQI;IAEI,0BAA+D;EhE4nQvE;EgE9nQI;IAEI,yBAA+D;EhE+nQvE;EgEjoQ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AEI,iCAA+D;EhEi3QvE;EgEn3QI;IAEI,gCAA+D;EhEo3QvE;EgEt3QI;IAEI,8BAA+D;EhEu3QvE;EgEz3QI;IAEI,gCAA+D;EhE03QvE;EgE53QI;IAEI,8BAA+D;EhE63QvE;EgE/3QI;IAEI,4BAA+D;EhEg4QvE;EgEl4QI;IAEI,kCAA+D;EhEm4QvE;EgEr4QI;IAEI,iCAA+D;EhEs4QvE;EgEx4QI;IAEI,+BAA+D;EhEy4QvE;EgE34QI;IAEI,iCAA+D;EhE44QvE;EgE94QI;IAEI,+BAA+D;EhE+4QvE;EgEj5QI;IAEI,0BAA+D;EhEk5QvE;EgEp5QI;IAEI,gCAA+D;EhEq5QvE;EgEv5QI;IAEI,+BAA+D;EhEw5QvE;EgE15QI;IAEI,6BAA+D;EhE25QvE;EgE75QI;IAEI,+BAA+D;EhE85QvE;EgEh6QI;IAEI,6BAA+D;EhEi6QvE;EgEn6QI;IAEI,2BAA+D;EhEo6QvE;EgEt6QI;IAEI,4BAA+D;EhEu6QvE;EgEz6QI;IAEI,6BAA+D;EhE06QvE;AACF;;AYv5QI;EoDtBE;IAEI,sBAA+D;EhEg7QvE;EgEl7QI;IAEI,uBAA+D;EhEm7QvE;EgEr7QI;IAEI,sBAA+D;EhEs7QvE;EgEx7QI;IAEI,wBAA+D;EhEy7QvE;EgE37QI;IAEI,0BAA+D;EhE47QvE;EgE97QI;IAEI,gCAA+D;EhE+7QvE;EgEj8QI;IAEI,yBAA+D;EhEk8QvE;EgEp8QI;IAEI,yBAA+D;EhEq8QvE;EgEv8QI;IAEI,6BAA+D;EhEw8QvE;EgE18QI;IAEI,8BAA+D;EhE28QvE;EgE78QI;IAEI,wBAA+D;EhE88QvE;EgEh9QI;IAEI,+BAA+D;EhEi9QvE;EgEn9QI;IAEI,yBAA+D;EhEo9QvE;EgEt9QI;IAEI,8BAA+D;EhEu9QvE;EgEz9QI;IAEI,iCAA+D;EhE09QvE;EgE59QI;IAEI,sCAA+D;EhE69QvE;EgE/9QI;IAEI,yCAA+D;EhEg+QvE;EgEl+QI;IAEI,uBAA+D;EhEm+QvE;EgEr+QI;IAEI,uBAA+D;EhEs+QvE;EgEx+QI;IAEI,yBAA+D;EhEy+QvE;EgE3+QI;IAEI,yBAA+D;EhE4+QvE;EgE9+QI;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Ey1RvE;EgE31RI;IAEI,4BAA+D;EhE41RvE;EgE91RI;IAEI,kCAA+D;EhE+1RvE;EgEj2RI;IAEI,iCAA+D;EhEk2RvE;EgEp2RI;IAEI,+BAA+D;EhEq2RvE;EgEv2RI;IAEI,iCAA+D;EhEw2RvE;EgE12RI;IAEI,+BAA+D;EhE22RvE;EgE72RI;IAEI,0BAA+D;EhE82RvE;EgEh3RI;IAEI,gCAA+D;EhEi3RvE;EgEn3RI;IAEI,+BAA+D;EhEo3RvE;EgEt3RI;IAEI,6BAA+D;EhEu3RvE;EgEz3RI;IAEI,+BAA+D;EhE03RvE;EgE53RI;IAEI,6BAA+D;EhE63RvE;EgE/3RI;IAEI,2BAA+D;EhEg4RvE;EgEl4RI;IAEI,4BAA+D;EhEm4RvE;EgEr4RI;IAEI,6BAA+D;EhEs4RvE;AACF;;AYn3RI;EoDtBE;IAEI,sBAA+D;EhE44RvE;EgE94RI;IAEI,uBAA+D;EhE+4RvE;EgEj5RI;IAEI,sBAA+D;EhEk5RvE;EgEp5RI;IAEI,wBAA+D;EhEq5RvE;EgEv5RI;IAEI,0BAA+D;EhEw5RvE;EgE15RI;IAEI,gCAA+D;EhE25RvE;EgE75RI;IAEI,yBAA+D;EhE85RvE;EgEh6RI;IAEI,yBAA+D;EhEi6RvE;EgEn6RI;IAEI,6BAA+D;EhEo6RvE;EgEt6RI;IAEI,8BAA+D;EhEu6RvE;EgEz6RI;IAEI,wBAA+D;EhE06RvE;EgE56RI;IAEI,+BAA+D;EhE66RvE;EgE/6RI;IAEI,yBAA+D;EhEg7RvE;EgEl7RI;IAEI,8BAA+D;EhEm7RvE;EgEr7RI;IAEI,iCAA+D;EhEs7RvE;EgEx7RI;IAEI,sCAA+D;EhEy7RvE;EgE37RI;IAEI,yCAA+D;EhE47RvE;EgE97RI;IAEI,uBAA+D;EhE+7RvE;EgEj8RI;IAEI,uBAA+D;EhEk8RvE;EgEp8RI;IAEI,yBAA+D;EhEq8RvE;EgEv8RI;IAEI,yBAA+D;EhEw8RvE;EgE18RI;IAEI,0BAA+D;EhE28RvE;EgE78RI;IAEI,4BAA+D;EhE88RvE;EgEh9RI;IAEI,kCAA+D;EhEi9RvE;EgEn9RI;IAEI,sCAA+D;EhEo9RvE;EgEt9RI;IAEI,oCAA+D;E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","file":"bootstrap.css","sourcesContent":["/*!\n * Bootstrap v5.0.0-alpha1 (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-alpha1 (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: #28a745;\n --bs-teal: #20c997;\n --bs-cyan: #17a2b8;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #28a745;\n --bs-info: #17a2b8;\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 width: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\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: 1 0 100%;\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: #b3cdf3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #acc4e9;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #afc9ee;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #acc4e9;\n}\n\n.table-secondary {\n --bs-table-bg: #d6d8db;\n --bs-table-striped-bg: #cdcfd2;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #c4c6c9;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #c8cbce;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #c4c6c9;\n}\n\n.table-success {\n --bs-table-bg: #c3e6cb;\n --bs-table-striped-bg: #bbdcc3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #b3d3bb;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #b7d8bf;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #b3d3bb;\n}\n\n.table-info {\n --bs-table-bg: #bee5eb;\n --bs-table-striped-bg: #b6dbe1;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #aed2d8;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #b2d7dc;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #aed2d8;\n}\n\n.table-warning {\n --bs-table-bg: #ffeeba;\n --bs-table-striped-bg: #f4e4b3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #e9daac;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #eedfaf;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #e9daac;\n}\n\n.table-danger {\n --bs-table-bg: #f5c6cb;\n --bs-table-striped-bg: #eabec3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #e0b6bb;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #e5babf;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #e0b6bb;\n}\n\n.table-light {\n --bs-table-bg: #f8f9fa;\n --bs-table-striped-bg: #edeef0;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #e3e4e5;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #e8e9ea;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #e3e4e5;\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.2rem 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.2rem 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.75em;\n margin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n float: left;\n margin-left: -1.75em;\n}\n\n.form-check-input {\n width: 1.25em;\n height: 1.25em;\n margin-top: 0.125em;\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.2rem 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.2rem 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.4rem;\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.2rem 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.2rem 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.2rem 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.2rem;\n margin-left: 0.2rem;\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: #28a745;\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(40, 167, 69, 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: #28a745;\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='%2328a745' 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: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 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: #28a745;\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='%2328a745' 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: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\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: #28a745;\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: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 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.2rem 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.2rem 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.2rem 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.2rem 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.2rem 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.2rem 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.2rem 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.2rem 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.2rem 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: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-check:focus + .btn-success, .btn-success:focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 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: #1e7e34;\n border-color: #1c7430;\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.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success:disabled, .btn-success.disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-check:focus + .btn-info, .btn-info:focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 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: #fff;\n background-color: #117a8b;\n border-color: #10707f;\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.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info:disabled, .btn-info.disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-check:focus + .btn-warning, .btn-warning:focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 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: #212529;\n background-color: #d39e00;\n border-color: #c69500;\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.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning:disabled, .btn-warning.disabled {\n color: #212529;\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.2rem 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.2rem 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: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-check:focus + .btn-light, .btn-light:focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 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: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\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.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light:disabled, .btn-light.disabled {\n color: #212529;\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.2rem 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.2rem 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.2rem 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.2rem 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.2rem 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.2rem 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: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-check:focus + .btn-outline-success, .btn-outline-success:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 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: #28a745;\n border-color: #28a745;\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.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success:disabled, .btn-outline-success.disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-check:focus + .btn-outline-info, .btn-outline-info:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 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: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\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.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info:disabled, .btn-outline-info.disabled {\n color: #17a2b8;\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: #212529;\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.2rem 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: #212529;\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.2rem 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.2rem 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.2rem 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: #212529;\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.2rem 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: #212529;\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.2rem 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.2rem 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.2rem 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 #e9ecef;\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.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.2rem;\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 > .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}\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 outline: 0;\n box-shadow: 0 0 0 0.2rem 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.25em 0.5em;\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: 3.5rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 1rem 1rem;\n color: inherit;\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: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info .alert-link {\n color: #062c33;\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: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\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.close {\n font-size: calc(1.275rem + 0.3vw);\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n@media (min-width: 1200px) {\n .close {\n font-size: 1.5rem;\n }\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:hover, .close:focus {\n opacity: .75;\n}\n\n.close:disabled, .close.disabled {\n pointer-events: none;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\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 backdrop-filter: blur(10px);\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.25rem 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}\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 max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\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: flex-start;\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 .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem 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 max-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: 20px;\n height: 20px;\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 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 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 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%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@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: #28a745;\n}\n\n.link-success:hover, .link-success:focus {\n color: #19692c;\n}\n\n.link-info {\n color: #17a2b8;\n}\n\n.link-info:hover, .link-info:focus {\n color: #0f6674;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ba8b00;\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: #cbd3da;\n}\n\n.link-dark {\n color: #343a40;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #121416;\n}\n\n.embed-responsive {\n position: relative;\n width: 100%;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 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.sr-only,\n.sr-only-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-none {\n display: none !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.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.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: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !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.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: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !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: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: none !important;\n }\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}\n\n/*# sourceMappingURL=bootstrap.css.map */",":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// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\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. Matches default `<td>` alignment by inheriting `text-align`.\n// 2. Fix alignment for Safari\n\nth {\n text-align: inherit; // 1\n text-align: -webkit-match-parent; // 2\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-blacklist\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: #28a745 !default;\n$teal: #20c997 !default;\n$cyan: #17a2b8 !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-800 !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// Set a specific jump point for requesting color jumps\n$theme-color-interval: 8% !default;\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: 3 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $gray-900 !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 8) !default;\n$blue-200: tint-color($blue, 6) !default;\n$blue-300: tint-color($blue, 4) !default;\n$blue-400: tint-color($blue, 2) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 2) !default;\n$blue-700: shade-color($blue, 4) !default;\n$blue-800: shade-color($blue, 6) !default;\n$blue-900: shade-color($blue, 8) !default;\n\n$indigo-100: tint-color($indigo, 8) !default;\n$indigo-200: tint-color($indigo, 6) !default;\n$indigo-300: tint-color($indigo, 4) !default;\n$indigo-400: tint-color($indigo, 2) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 2) !default;\n$indigo-700: shade-color($indigo, 4) !default;\n$indigo-800: shade-color($indigo, 6) !default;\n$indigo-900: shade-color($indigo, 8) !default;\n\n$purple-100: tint-color($purple, 8) !default;\n$purple-200: tint-color($purple, 6) !default;\n$purple-300: tint-color($purple, 4) !default;\n$purple-400: tint-color($purple, 2) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 2) !default;\n$purple-700: shade-color($purple, 4) !default;\n$purple-800: shade-color($purple, 6) !default;\n$purple-900: shade-color($purple, 8) !default;\n\n$pink-100: tint-color($pink, 8) !default;\n$pink-200: tint-color($pink, 6) !default;\n$pink-300: tint-color($pink, 4) !default;\n$pink-400: tint-color($pink, 2) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 2) !default;\n$pink-700: shade-color($pink, 4) !default;\n$pink-800: shade-color($pink, 6) !default;\n$pink-900: shade-color($pink, 8) !default;\n\n$red-100: tint-color($red, 8) !default;\n$red-200: tint-color($red, 6) !default;\n$red-300: tint-color($red, 4) !default;\n$red-400: tint-color($red, 2) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 2) !default;\n$red-700: shade-color($red, 4) !default;\n$red-800: shade-color($red, 6) !default;\n$red-900: shade-color($red, 8) !default;\n\n$orange-100: tint-color($orange, 8) !default;\n$orange-200: tint-color($orange, 6) !default;\n$orange-300: tint-color($orange, 4) !default;\n$orange-400: tint-color($orange, 2) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 2) !default;\n$orange-700: shade-color($orange, 4) !default;\n$orange-800: shade-color($orange, 6) !default;\n$orange-900: shade-color($orange, 8) !default;\n\n$yellow-100: tint-color($yellow, 8) !default;\n$yellow-200: tint-color($yellow, 6) !default;\n$yellow-300: tint-color($yellow, 4) !default;\n$yellow-400: tint-color($yellow, 2) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 2) !default;\n$yellow-700: shade-color($yellow, 4) !default;\n$yellow-800: shade-color($yellow, 6) !default;\n$yellow-900: shade-color($yellow, 8) !default;\n\n$green-100: tint-color($green, 8) !default;\n$green-200: tint-color($green, 6) !default;\n$green-300: tint-color($green, 4) !default;\n$green-400: tint-color($green, 2) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 2) !default;\n$green-700: shade-color($green, 4) !default;\n$green-800: shade-color($green, 6) !default;\n$green-900: shade-color($green, 8) !default;\n\n$teal-100: tint-color($teal, 8) !default;\n$teal-200: tint-color($teal, 6) !default;\n$teal-300: tint-color($teal, 4) !default;\n$teal-400: tint-color($teal, 2) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 2) !default;\n$teal-700: shade-color($teal, 4) !default;\n$teal-800: shade-color($teal, 6) !default;\n$teal-900: shade-color($teal, 8) !default;\n\n$cyan-100: tint-color($cyan, 8) !default;\n$cyan-200: tint-color($cyan, 6) !default;\n$cyan-300: tint-color($cyan, 4) !default;\n$cyan-400: tint-color($cyan, 2) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 2) !default;\n$cyan-700: shade-color($cyan, 4) !default;\n$cyan-800: shade-color($cyan, 6) !default;\n$cyan-900: shade-color($cyan, 8) !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-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// 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// 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-hover-color: darken($link-color, 15%) !default;\n$link-hover-decoration: null !default;\n// Darken percentage for links with `.text-*` class (e.g. `.text-success`)\n$emphasized-link-hover-darken-percentage: 15% !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: 1rem !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\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// scss-docs-start embed-responsive-aspect-ratios\n$embed-responsive-aspect-ratios: (\n \"21by9\": (\n x: 21,\n y: 9\n ),\n \"16by9\": (\n x: 16,\n y: 9\n ),\n \"4by3\": (\n x: 4,\n y: 3\n ),\n \"1by1\": (\n x: 1,\n y: 1\n )\n) !default;\n// scss-docs-end embed-responsive-aspect-ratios\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\", 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(--bs-font-sans-serif) !default;\n$font-family-code: var(--bs-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$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-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-seperator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-level: -9 !default;\n\n$table-variants: (\n \"primary\": color-level($primary, $table-bg-level),\n \"secondary\": color-level($secondary, $table-bg-level),\n \"success\": color-level($success, $table-bg-level),\n \"info\": color-level($info, $table-bg-level),\n \"warning\": color-level($warning, $table-bg-level),\n \"danger\": color-level($danger, $table-bg-level),\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: .2rem !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: $gray-700 !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: lighten($component-active-bg, 25%) !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: 1.25em !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-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-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n\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: lighten($component-active-bg, 35%) !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\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-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-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: $gray-200 !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: darken($gray-900, 5%) !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\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-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\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: darken($popover-bg, 3%) !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: .25rem !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: .25em !default;\n$badge-padding-x: .5em !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-level: -10 !default;\n$alert-border-level: -9 !default;\n$alert-color-level: 6 !default;\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-level: -9 !default;\n$list-group-item-color-level: 6 !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: 20px !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 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 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 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></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\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$close-font-size: $font-size-base * 1.5 !default;\n$close-font-weight: $font-weight-bold !default;\n$close-color: $black !default;\n$close-text-shadow: 0 1px 0 $white !default;\n\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-blacklist\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) {\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) {\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) {\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) {\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) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($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($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\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 $max: breakpoint-max(breakpoint-next($name, $breakpoints));\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $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: 1 0 100%;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1); // stylelint-disable-line function-blacklist\n margin-right: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-blacklist\n margin-left: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-blacklist\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-blacklist\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-blacklist\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-seperator-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","// 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@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// Request a color level\n// scss-docs-start color-level\n@function color-level($color: $primary, $level: 0) {\n $color-base: if($level > 0, $black, $white);\n $level: abs($level);\n\n @return mix($color-base, $color, $level * $theme-color-interval);\n}\n// scss-docs-end color-level\n\n@function tint-color($color, $level) {\n @return mix(white, $color, $level * $theme-color-interval);\n}\n\n@function shade-color($color, $level) {\n @return mix(black, $color, $level * $theme-color-interval);\n}\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","//\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-blacklist\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-blacklist\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-padding-y $input-padding-x;\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\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: darken($background, 7.5%),\n $hover-border: darken($border, 10%),\n $hover-color: color-contrast($hover-background),\n $active-background: darken($background, 10%),\n $active-border: darken($border, 12.5%),\n $active-color: color-contrast($active-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: $color;\n background-color: $background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $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 0;\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","@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 text-decoration: if($link-decoration == none, null, none);\n @include transition($nav-link-transition);\n\n &:hover,\n &:focus {\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 &#{$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-blacklist\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\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-blacklist\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\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\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 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: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\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",".close {\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n &:hover {\n color: $close-color;\n text-decoration: none;\n }\n\n &:hover,\n &:focus {\n opacity: .75;\n }\n\n &:disabled,\n &.disabled {\n pointer-events: none;\n }\n}\n\n// Additional properties 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// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n",".toast {\n max-width: $toast-max-width;\n overflow: hidden; // cheap rounded corners on nested items\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 backdrop-filter: blur(10px);\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}\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 max-height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\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: flex-start; // so the close btn always stays on the upper right corner\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 .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) 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 max-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","// 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-blacklist\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-blacklist\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: darken($value, $emphasized-link-hover-darken-percentage);\n }\n }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n width: 100%;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n}\n\n@each $key, $ratio in $embed-responsive-aspect-ratios {\n .embed-responsive-#{$key} {\n &::before {\n padding-top: percentage(map-get($ratio, y) / map-get($ratio, x));\n }\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// Screenreaders\n//\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n @include sr-only();\n}\n","// stylelint-disable declaration-no-important\n\n// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only {\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 sr-only-focusable {\n &:not(:focus) {\n @include sr-only();\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 ceb1640393..d2ed5eeaa4 100644
--- a/dist/css/bootstrap.min.css
+++ b/dist/css/bootstrap.min.css
@@ -2,6 +2,6 @@
* Bootstrap v5.0.0-alpha1 (https://getbootstrap.com/)
* Copyright 2011-2020 The Bootstrap Authors
* Copyright 2011-2020 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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:#28a745;--bs-teal:#20c997;--bs-cyan:#17a2b8;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#28a745;--bs-info:#17a2b8;--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}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{width:100%;padding-right:1rem;padding-left:1rem;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:1 0 100%;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:#b3cdf3;--bs-table-striped-color:#212529;--bs-table-active-bg:#acc4e9;--bs-table-active-color:#212529;--bs-table-hover-bg:#afc9ee;--bs-table-hover-color:#212529;color:#212529;border-color:#acc4e9}.table-secondary{--bs-table-bg:#d6d8db;--bs-table-striped-bg:#cdcfd2;--bs-table-striped-color:#212529;--bs-table-active-bg:#c4c6c9;--bs-table-active-color:#212529;--bs-table-hover-bg:#c8cbce;--bs-table-hover-color:#212529;color:#212529;border-color:#c4c6c9}.table-success{--bs-table-bg:#c3e6cb;--bs-table-striped-bg:#bbdcc3;--bs-table-striped-color:#212529;--bs-table-active-bg:#b3d3bb;--bs-table-active-color:#212529;--bs-table-hover-bg:#b7d8bf;--bs-table-hover-color:#212529;color:#212529;border-color:#b3d3bb}.table-info{--bs-table-bg:#bee5eb;--bs-table-striped-bg:#b6dbe1;--bs-table-striped-color:#212529;--bs-table-active-bg:#aed2d8;--bs-table-active-color:#212529;--bs-table-hover-bg:#b2d7dc;--bs-table-hover-color:#212529;color:#212529;border-color:#aed2d8}.table-warning{--bs-table-bg:#ffeeba;--bs-table-striped-bg:#f4e4b3;--bs-table-striped-color:#212529;--bs-table-active-bg:#e9daac;--bs-table-active-color:#212529;--bs-table-hover-bg:#eedfaf;--bs-table-hover-color:#212529;color:#212529;border-color:#e9daac}.table-danger{--bs-table-bg:#f5c6cb;--bs-table-striped-bg:#eabec3;--bs-table-striped-color:#212529;--bs-table-active-bg:#e0b6bb;--bs-table-active-color:#212529;--bs-table-hover-bg:#e5babf;--bs-table-hover-color:#212529;color:#212529;border-color:#e0b6bb}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#edeef0;--bs-table-striped-color:#212529;--bs-table-active-bg:#e3e4e5;--bs-table-active-color:#212529;--bs-table-hover-bg:#e8e9ea;--bs-table-hover-color:#212529;color:#212529;border-color:#e3e4e5}.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}@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}}.table-responsive{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 .2rem 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 .2rem 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.75em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.75em}.form-check-input{width:1.25em;height:1.25em;margin-top:.125em;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{-webkit-filter:brightness(90%);filter:brightness(90%)}.form-check-input:focus{border-color:#8bbafe;outline:0;box-shadow:0 0 0 .2rem 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;-webkit-filter: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}.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 .2rem 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.4rem;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 .2rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(13,110,253,.25)}.form-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem 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:.2rem;margin-left:.2rem;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:#28a745}.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(40,167,69,.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:#28a745;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='%2328a745' 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:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.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:#28a745;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='%2328a745' 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:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#28a745}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#28a745}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.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:#28a745}.form-file-input.is-valid:focus~.form-file-label,.was-validated .form-file-input:valid:focus~.form-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.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 .2rem 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 .2rem 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 .2rem 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 .2rem 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.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem 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-primary.focus,.btn-primary:focus{color:#fff;background-color:#025ce2;border-color:#0257d5;box-shadow:0 0 0 .2rem rgba(49,132,253,.5)}.btn-primary.active,.btn-primary:active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0257d5;border-color:#0252c9}.btn-primary.active:focus,.btn-primary:active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem 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-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.active,.btn-secondary:active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary.active:focus,.btn-secondary:active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem 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:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.active,.btn-success:active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success.active:focus,.btn-success:active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info.active:focus,.btn-info:active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning.active:focus,.btn-warning:active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;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-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.active,.btn-danger:active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger.active:focus,.btn-danger:active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light.active:focus,.btn-light:active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;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-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.active,.btn-dark:active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark.active:focus,.btn-dark:active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem 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-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(13,110,253,.5)}.btn-outline-primary.active,.btn-outline-primary.dropdown-toggle.show,.btn-outline-primary:active{color:#fff;background-color:#0d6efd;border-color:#0d6efd}.btn-outline-primary.active:focus,.btn-outline-primary.dropdown-toggle.show:focus,.btn-outline-primary:active:focus{box-shadow:0 0 0 .2rem 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-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.active,.btn-outline-secondary.dropdown-toggle.show,.btn-outline-secondary:active{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.active:focus,.btn-outline-secondary.dropdown-toggle.show:focus,.btn-outline-secondary:active:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.active,.btn-outline-success.dropdown-toggle.show,.btn-outline-success:active{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.active:focus,.btn-outline-success.dropdown-toggle.show:focus,.btn-outline-success:active:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.active,.btn-outline-info.dropdown-toggle.show,.btn-outline-info:active{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.active:focus,.btn-outline-info.dropdown-toggle.show:focus,.btn-outline-info:active:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.active,.btn-outline-warning.dropdown-toggle.show,.btn-outline-warning:active{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.active:focus,.btn-outline-warning.dropdown-toggle.show:focus,.btn-outline-warning:active:focus{box-shadow:0 0 0 .2rem 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-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.active,.btn-outline-danger.dropdown-toggle.show,.btn-outline-danger:active{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.active:focus,.btn-outline-danger.dropdown-toggle.show:focus,.btn-outline-danger:active:focus{box-shadow:0 0 0 .2rem 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:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.active,.btn-outline-light.dropdown-toggle.show,.btn-outline-light:active{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.active:focus,.btn-outline-light.dropdown-toggle.show:focus,.btn-outline-light:active:focus{box-shadow:0 0 0 .2rem 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-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.active,.btn-outline-dark.dropdown-toggle.show,.btn-outline-dark:active{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.active:focus,.btn-outline-dark.dropdown-toggle.show:focus,.btn-outline-dark:active:focus{box-shadow:0 0 0 .2rem 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 #e9ecef}.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}.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.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.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:not(:first-child){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}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.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 .2rem}.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>.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}.page-link:hover{z-index:2;color:#024dbc;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem 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:.25em .5em;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:3.5rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:1rem 1rem;color:inherit}.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:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info .alert-link{color:#062c33}.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:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.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}.close{font-size:calc(1.275rem + .3vw);font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}@media (min-width:1200px){.close{font-size:1.5rem}}.close:hover{color:#000;text-decoration:none}.close:focus,.close:hover{opacity:.75}.close.disabled,.close:disabled{pointer-events:none}button.close{padding:0;background-color:transparent;border:0}.toast{max-width:350px;overflow:hidden;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);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);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:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.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{max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{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:flex-start;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 .close{padding:1rem 1rem;margin:-1rem -1rem -1rem 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{max-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}}@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}}.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}.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:20px;height:20px;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 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 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 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%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}@-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:#28a745}.link-success:focus,.link-success:hover{color:#19692c}.link-info{color:#17a2b8}.link-info:focus,.link-info:hover{color:#0f6674}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ba8b00}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#a71d2a}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#cbd3da}.link-dark{color:#343a40}.link-dark:focus,.link-dark:hover{color:#121416}.embed-responsive{position:relative;width:100%}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;width:100%;height:100%}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top: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}}.sr-only,.sr-only-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-none{display:none!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}.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}.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:#28a745!important}.border-info{border-color:#17a2b8!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}.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:#28a745!important}.text-info{color:#17a2b8!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:#28a745!important}.bg-info{background-color:#17a2b8!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-none{display: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}.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-none{display: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}.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-none{display: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}.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-none{display: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}.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-none{display: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}.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-none{display:none!important}.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}}
+ * 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:#28a745;--bs-teal:#20c997;--bs-cyan:#17a2b8;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#28a745;--bs-info:#17a2b8;--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{width:100%;padding-right:1rem;padding-left:1rem;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:1 0 100%;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:#b3cdf3;--bs-table-striped-color:#212529;--bs-table-active-bg:#acc4e9;--bs-table-active-color:#212529;--bs-table-hover-bg:#afc9ee;--bs-table-hover-color:#212529;color:#212529;border-color:#acc4e9}.table-secondary{--bs-table-bg:#d6d8db;--bs-table-striped-bg:#cdcfd2;--bs-table-striped-color:#212529;--bs-table-active-bg:#c4c6c9;--bs-table-active-color:#212529;--bs-table-hover-bg:#c8cbce;--bs-table-hover-color:#212529;color:#212529;border-color:#c4c6c9}.table-success{--bs-table-bg:#c3e6cb;--bs-table-striped-bg:#bbdcc3;--bs-table-striped-color:#212529;--bs-table-active-bg:#b3d3bb;--bs-table-active-color:#212529;--bs-table-hover-bg:#b7d8bf;--bs-table-hover-color:#212529;color:#212529;border-color:#b3d3bb}.table-info{--bs-table-bg:#bee5eb;--bs-table-striped-bg:#b6dbe1;--bs-table-striped-color:#212529;--bs-table-active-bg:#aed2d8;--bs-table-active-color:#212529;--bs-table-hover-bg:#b2d7dc;--bs-table-hover-color:#212529;color:#212529;border-color:#aed2d8}.table-warning{--bs-table-bg:#ffeeba;--bs-table-striped-bg:#f4e4b3;--bs-table-striped-color:#212529;--bs-table-active-bg:#e9daac;--bs-table-active-color:#212529;--bs-table-hover-bg:#eedfaf;--bs-table-hover-color:#212529;color:#212529;border-color:#e9daac}.table-danger{--bs-table-bg:#f5c6cb;--bs-table-striped-bg:#eabec3;--bs-table-striped-color:#212529;--bs-table-active-bg:#e0b6bb;--bs-table-active-color:#212529;--bs-table-hover-bg:#e5babf;--bs-table-hover-color:#212529;color:#212529;border-color:#e0b6bb}.table-light{--bs-table-bg:#f8f9fa;--bs-table-striped-bg:#edeef0;--bs-table-striped-color:#212529;--bs-table-active-bg:#e3e4e5;--bs-table-active-color:#212529;--bs-table-hover-bg:#e8e9ea;--bs-table-hover-color:#212529;color:#212529;border-color:#e3e4e5}.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 .2rem 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 .2rem 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.75em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.75em}.form-check-input{width:1.25em;height:1.25em;margin-top:.125em;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{-webkit-filter:brightness(90%);filter:brightness(90%)}.form-check-input:focus{border-color:#8bbafe;outline:0;box-shadow:0 0 0 .2rem 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;-webkit-filter: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 .2rem 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.4rem;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 .2rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(13,110,253,.25)}.form-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem 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:.2rem;margin-left:.2rem;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:#28a745}.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(40,167,69,.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:#28a745;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='%2328a745' 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:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.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:#28a745;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='%2328a745' 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:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:#28a745}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:#28a745}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.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:#28a745}.form-file-input.is-valid:focus~.form-file-label,.was-validated .form-file-input:valid:focus~.form-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.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 .2rem 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 .2rem 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 .2rem 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 .2rem 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 .2rem 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 .2rem 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 .2rem 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 .2rem 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 .2rem 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:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-check:focus+.btn-success,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.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:#1e7e34;border-color:#1c7430}.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 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-check:focus+.btn-info,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-check:active+.btn-info,.btn-check:checked+.btn-info,.btn-info.active,.btn-info:active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.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 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-check:focus+.btn-warning,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-check:active+.btn-warning,.btn-check:checked+.btn-warning,.btn-warning.active,.btn-warning:active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.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 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;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 .2rem 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 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-check:focus+.btn-light,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-check:active+.btn-light,.btn-check:checked+.btn-light,.btn-light.active,.btn-light:active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.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 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;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 .2rem 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 .2rem 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 .2rem 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 .2rem 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 .2rem 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 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-check:focus+.btn-outline-success,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.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:#28a745;border-color:#28a745}.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 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-check:focus+.btn-outline-info,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.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:#fff;background-color:#17a2b8;border-color:#17a2b8}.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 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-check:focus+.btn-outline-warning,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem 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:#212529;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 .2rem 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 .2rem 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 .2rem 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:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-check:focus+.btn-outline-light,.btn-outline-light:focus{box-shadow:0 0 0 .2rem 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:#212529;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 .2rem 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 .2rem 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 .2rem 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 #e9ecef}.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}.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 .2rem}.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>.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}.page-link:hover{z-index:2;color:#024dbc;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem 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:.25em .5em;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:3.5rem}.alert-dismissible .close{position:absolute;top:0;right:0;padding:1rem 1rem;color:inherit}.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:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info .alert-link{color:#062c33}.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:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.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}.close{font-size:calc(1.275rem + .3vw);font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}@media (min-width:1200px){.close{font-size:1.5rem}}.close:hover{color:#000;text-decoration:none}.close:focus,.close:hover{opacity:.75}.close.disabled,.close:disabled{pointer-events:none}button.close{padding:0;background-color:transparent;border:0}.toast{max-width:350px;overflow:hidden;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);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);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:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05)}.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{max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{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:flex-start;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 .close{padding:1rem 1rem;margin:-1rem -1rem -1rem 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{max-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:20px;height:20px;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 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 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 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%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}@-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:#28a745}.link-success:focus,.link-success:hover{color:#19692c}.link-info{color:#17a2b8}.link-info:focus,.link-info:hover{color:#0f6674}.link-warning{color:#ffc107}.link-warning:focus,.link-warning:hover{color:#ba8b00}.link-danger{color:#dc3545}.link-danger:focus,.link-danger:hover{color:#a71d2a}.link-light{color:#f8f9fa}.link-light:focus,.link-light:hover{color:#cbd3da}.link-dark{color:#343a40}.link-dark:focus,.link-dark:hover{color:#121416}.embed-responsive{position:relative;width:100%}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;width:100%;height:100%}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top: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}}.sr-only,.sr-only-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-none{display:none!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}.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}.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:#28a745!important}.border-info{border-color:#17a2b8!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}.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:#28a745!important}.text-info{color:#17a2b8!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:#28a745!important}.bg-info{background-color:#17a2b8!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-none{display: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}.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-none{display: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}.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-none{display: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}.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-none{display: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}.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-none{display: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}.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-none{display:none!important}.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}}
/*# 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 83c09db9db..42fb6e7209 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/_embed.scss","../../scss/helpers/_position.scss","../../scss/helpers/_screenreaders.scss","../../scss/mixins/_screen-reader.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-alpha1 (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/master/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// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\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. Matches default `<td>` alignment by inheriting `text-align`.\n// 2. Fix alignment for Safari\n\nth {\n text-align: inherit; // 1\n text-align: -webkit-match-parent; // 2\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-blacklist\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// 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-alpha1 (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/master/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: #28a745;\n --bs-teal: #20c997;\n --bs-cyan: #17a2b8;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #28a745;\n --bs-info: #17a2b8;\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\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 width: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\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: 1 0 100%;\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: #b3cdf3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #acc4e9;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #afc9ee;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #acc4e9;\n}\n\n.table-secondary {\n --bs-table-bg: #d6d8db;\n --bs-table-striped-bg: #cdcfd2;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #c4c6c9;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #c8cbce;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #c4c6c9;\n}\n\n.table-success {\n --bs-table-bg: #c3e6cb;\n --bs-table-striped-bg: #bbdcc3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #b3d3bb;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #b7d8bf;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #b3d3bb;\n}\n\n.table-info {\n --bs-table-bg: #bee5eb;\n --bs-table-striped-bg: #b6dbe1;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #aed2d8;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #b2d7dc;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #aed2d8;\n}\n\n.table-warning {\n --bs-table-bg: #ffeeba;\n --bs-table-striped-bg: #f4e4b3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #e9daac;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #eedfaf;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #e9daac;\n}\n\n.table-danger {\n --bs-table-bg: #f5c6cb;\n --bs-table-striped-bg: #eabec3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #e0b6bb;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #e5babf;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #e0b6bb;\n}\n\n.table-light {\n --bs-table-bg: #f8f9fa;\n --bs-table-striped-bg: #edeef0;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #e3e4e5;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #e8e9ea;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #e3e4e5;\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@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.table-responsive {\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 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.2rem 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.2rem 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.75em;\n margin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n float: left;\n margin-left: -1.75em;\n}\n\n.form-check-input {\n width: 1.25em;\n height: 1.25em;\n margin-top: 0.125em;\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 -webkit-filter: brightness(90%);\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.2rem 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 -webkit-filter: 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.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.2rem 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.4rem;\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.2rem 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.2rem 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.2rem 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.2rem;\n margin-left: 0.2rem;\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: #28a745;\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(40, 167, 69, 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: #28a745;\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='%2328a745' 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: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 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: #28a745;\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='%2328a745' 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: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\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: #28a745;\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: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 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.2rem 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.2rem 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.2rem 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.2rem 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:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem 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-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);\n}\n\n.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-primary:active:focus, .btn-primary.active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem 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-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.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-secondary:active:focus, .btn-secondary.active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem 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: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:active:focus, .btn-success.active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success:disabled, .btn-success.disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:active:focus, .btn-info.active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info:disabled, .btn-info.disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:active:focus, .btn-warning.active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning:disabled, .btn-warning.disabled {\n color: #212529;\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-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.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-danger:active:focus, .btn-danger.active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem 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: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light:active, .btn-light.active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:active:focus, .btn-light.active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light:disabled, .btn-light.disabled {\n color: #212529;\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-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.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-dark:active:focus, .btn-dark.active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem 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-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);\n}\n\n.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-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem 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-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.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-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem 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: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success:disabled, .btn-outline-success.disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info:disabled, .btn-outline-info.disabled {\n color: #17a2b8;\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: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem 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-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.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-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem 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: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem 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-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.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-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem 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 #e9ecef;\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.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:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\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:not(:first-child),\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.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\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.2rem;\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 > .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}\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 outline: 0;\n box-shadow: 0 0 0 0.2rem 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.25em 0.5em;\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: 3.5rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 1rem 1rem;\n color: inherit;\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: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info .alert-link {\n color: #062c33;\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: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\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.close {\n font-size: calc(1.275rem + 0.3vw);\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n@media (min-width: 1200px) {\n .close {\n font-size: 1.5rem;\n }\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:hover, .close:focus {\n opacity: .75;\n}\n\n.close:disabled, .close.disabled {\n pointer-events: none;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\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 -webkit-backdrop-filter: blur(10px);\n backdrop-filter: blur(10px);\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.25rem 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}\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 max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\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: flex-start;\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 .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem 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 max-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@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.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.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: 20px;\n height: 20px;\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 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 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 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%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@-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: #28a745;\n}\n\n.link-success:hover, .link-success:focus {\n color: #19692c;\n}\n\n.link-info {\n color: #17a2b8;\n}\n\n.link-info:hover, .link-info:focus {\n color: #0f6674;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ba8b00;\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: #cbd3da;\n}\n\n.link-dark {\n color: #343a40;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #121416;\n}\n\n.embed-responsive {\n position: relative;\n width: 100%;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 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.sr-only,\n.sr-only-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-none {\n display: none !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.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.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: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !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.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: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !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: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: none !important;\n }\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}\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-alpha1 (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/master/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: #28a745;\n --bs-teal: #20c997;\n --bs-cyan: #17a2b8;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #28a745;\n --bs-info: #17a2b8;\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\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 width: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\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: 1 0 100%;\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: #b3cdf3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #acc4e9;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #afc9ee;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #acc4e9;\n}\n\n.table-secondary {\n --bs-table-bg: #d6d8db;\n --bs-table-striped-bg: #cdcfd2;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #c4c6c9;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #c8cbce;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #c4c6c9;\n}\n\n.table-success {\n --bs-table-bg: #c3e6cb;\n --bs-table-striped-bg: #bbdcc3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #b3d3bb;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #b7d8bf;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #b3d3bb;\n}\n\n.table-info {\n --bs-table-bg: #bee5eb;\n --bs-table-striped-bg: #b6dbe1;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #aed2d8;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #b2d7dc;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #aed2d8;\n}\n\n.table-warning {\n --bs-table-bg: #ffeeba;\n --bs-table-striped-bg: #f4e4b3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #e9daac;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #eedfaf;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #e9daac;\n}\n\n.table-danger {\n --bs-table-bg: #f5c6cb;\n --bs-table-striped-bg: #eabec3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #e0b6bb;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #e5babf;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #e0b6bb;\n}\n\n.table-light {\n --bs-table-bg: #f8f9fa;\n --bs-table-striped-bg: #edeef0;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #e3e4e5;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #e8e9ea;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #e3e4e5;\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@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.table-responsive {\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 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.2rem 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.2rem 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.75em;\n margin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n float: left;\n margin-left: -1.75em;\n}\n\n.form-check-input {\n width: 1.25em;\n height: 1.25em;\n margin-top: 0.125em;\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.2rem 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.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.2rem 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.4rem;\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.2rem 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.2rem 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.2rem 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.2rem;\n margin-left: 0.2rem;\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: #28a745;\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(40, 167, 69, 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: #28a745;\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='%2328a745' 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: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 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: #28a745;\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='%2328a745' 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: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\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: #28a745;\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: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 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.2rem 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.2rem 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.2rem 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.2rem 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:focus, .btn.focus {\n outline: 0;\n box-shadow: 0 0 0 0.2rem 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-primary:focus, .btn-primary.focus {\n color: #fff;\n background-color: #025ce2;\n border-color: #0257d5;\n box-shadow: 0 0 0 0.2rem rgba(49, 132, 253, 0.5);\n}\n\n.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-primary:active:focus, .btn-primary.active:focus,\n.show > .btn-primary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem 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-secondary:focus, .btn-secondary.focus {\n color: #fff;\n background-color: #5a6268;\n border-color: #545b62;\n box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);\n}\n\n.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-secondary:active:focus, .btn-secondary.active:focus,\n.show > .btn-secondary.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem 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: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-success:focus, .btn-success.focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success:active, .btn-success.active,\n.show > .btn-success.dropdown-toggle {\n color: #fff;\n background-color: #1e7e34;\n border-color: #1c7430;\n}\n\n.btn-success:active:focus, .btn-success.active:focus,\n.show > .btn-success.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success:disabled, .btn-success.disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-info:focus, .btn-info.focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info:active, .btn-info.active,\n.show > .btn-info.dropdown-toggle {\n color: #fff;\n background-color: #117a8b;\n border-color: #10707f;\n}\n\n.btn-info:active:focus, .btn-info.active:focus,\n.show > .btn-info.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info:disabled, .btn-info.disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-warning:focus, .btn-warning.focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning:active, .btn-warning.active,\n.show > .btn-warning.dropdown-toggle {\n color: #212529;\n background-color: #d39e00;\n border-color: #c69500;\n}\n\n.btn-warning:active:focus, .btn-warning.active:focus,\n.show > .btn-warning.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning:disabled, .btn-warning.disabled {\n color: #212529;\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-danger:focus, .btn-danger.focus {\n color: #fff;\n background-color: #c82333;\n border-color: #bd2130;\n box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);\n}\n\n.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-danger:active:focus, .btn-danger.active:focus,\n.show > .btn-danger.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem 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: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-light:focus, .btn-light.focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light:active, .btn-light.active,\n.show > .btn-light.dropdown-toggle {\n color: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\n}\n\n.btn-light:active:focus, .btn-light.active:focus,\n.show > .btn-light.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light:disabled, .btn-light.disabled {\n color: #212529;\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-dark:focus, .btn-dark.focus {\n color: #fff;\n background-color: #23272b;\n border-color: #1d2124;\n box-shadow: 0 0 0 0.2rem rgba(82, 88, 93, 0.5);\n}\n\n.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-dark:active:focus, .btn-dark.active:focus,\n.show > .btn-dark.dropdown-toggle:focus {\n box-shadow: 0 0 0 0.2rem 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-outline-primary:focus, .btn-outline-primary.focus {\n box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.5);\n}\n\n.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-outline-primary:active:focus, .btn-outline-primary.active:focus, .btn-outline-primary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem 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-outline-secondary:focus, .btn-outline-secondary.focus {\n box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);\n}\n\n.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-outline-secondary:active:focus, .btn-outline-secondary.active:focus, .btn-outline-secondary.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem 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: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:focus, .btn-outline-success.focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success:active, .btn-outline-success.active, .btn-outline-success.dropdown-toggle.show {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:active:focus, .btn-outline-success.active:focus, .btn-outline-success.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success:disabled, .btn-outline-success.disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:focus, .btn-outline-info.focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info:active, .btn-outline-info.active, .btn-outline-info.dropdown-toggle.show {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:active:focus, .btn-outline-info.active:focus, .btn-outline-info.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info:disabled, .btn-outline-info.disabled {\n color: #17a2b8;\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: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:focus, .btn-outline-warning.focus {\n box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);\n}\n\n.btn-outline-warning:active, .btn-outline-warning.active, .btn-outline-warning.dropdown-toggle.show {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-outline-warning:active:focus, .btn-outline-warning.active:focus, .btn-outline-warning.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem 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-outline-danger:focus, .btn-outline-danger.focus {\n box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);\n}\n\n.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-outline-danger:active:focus, .btn-outline-danger.active:focus, .btn-outline-danger.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem 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: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:focus, .btn-outline-light.focus {\n box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);\n}\n\n.btn-outline-light:active, .btn-outline-light.active, .btn-outline-light.dropdown-toggle.show {\n color: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-outline-light:active:focus, .btn-outline-light.active:focus, .btn-outline-light.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem 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-outline-dark:focus, .btn-outline-dark.focus {\n box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);\n}\n\n.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-outline-dark:active:focus, .btn-outline-dark.active:focus, .btn-outline-dark.dropdown-toggle.show:focus {\n box-shadow: 0 0 0 0.2rem 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 #e9ecef;\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.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:hover, .btn-group > .btn:focus, .btn-group > .btn:active, .btn-group > .btn.active,\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:not(:first-child),\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.btn-group-toggle > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn input[type=\"checkbox\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"radio\"],\n.btn-group-toggle > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\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.2rem;\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 > .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}\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 outline: 0;\n box-shadow: 0 0 0 0.2rem 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.25em 0.5em;\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: 3.5rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 1rem 1rem;\n color: inherit;\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: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info .alert-link {\n color: #062c33;\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: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\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.close {\n font-size: calc(1.275rem + 0.3vw);\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n@media (min-width: 1200px) {\n .close {\n font-size: 1.5rem;\n }\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:hover, .close:focus {\n opacity: .75;\n}\n\n.close:disabled, .close.disabled {\n pointer-events: none;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\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 backdrop-filter: blur(10px);\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.25rem 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}\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 max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\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: flex-start;\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 .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem 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 max-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@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.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.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: 20px;\n height: 20px;\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 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 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 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%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@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: #28a745;\n}\n\n.link-success:hover, .link-success:focus {\n color: #19692c;\n}\n\n.link-info {\n color: #17a2b8;\n}\n\n.link-info:hover, .link-info:focus {\n color: #0f6674;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ba8b00;\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: #cbd3da;\n}\n\n.link-dark {\n color: #343a40;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #121416;\n}\n\n.embed-responsive {\n position: relative;\n width: 100%;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 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.sr-only,\n.sr-only-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-none {\n display: none !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.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.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: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !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.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: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !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: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: none !important;\n }\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}\n\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable property-blacklist\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) {\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) {\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) {\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) {\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) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($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($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\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. Null for the largest (last) breakpoint.\n// The maximum value is calculated as the minimum of the next one less 0.02px\n// to work around the limitations of `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(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $next: breakpoint-next($name, $breakpoints);\n @return if($next, breakpoint-min($next, $breakpoints) - .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 $max: breakpoint-max($name, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $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: 1 0 100%;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1); // stylelint-disable-line function-blacklist\n margin-right: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-blacklist\n margin-left: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-blacklist\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-blacklist\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-blacklist\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-seperator-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 $next: breakpoint-next($breakpoint, $grid-breakpoints);\n $infix: breakpoint-infix($next, $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-blacklist\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-blacklist\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",".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-padding-y $input-padding-x;\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\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 &:focus,\n &.focus {\n outline: 0;\n box-shadow: $btn-focus-box-shadow;\n }\n\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 &.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: darken($background, 7.5%),\n $hover-border: darken($border, 10%),\n $hover-color: color-contrast($hover-background),\n $active-background: darken($background, 10%),\n $active-border: darken($border, 12.5%),\n $active-color: color-contrast($active-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 &: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 &: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: $color;\n background-color: $background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $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 &:focus,\n &.focus {\n box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);\n }\n\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 0;\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","@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 // Bring the hover, focused, and \"active\" buttons to the front to overlay\n // the borders properly\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 1;\n }\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 > .btn:not(:first-child),\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\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n.btn-group-toggle {\n > .btn,\n > .btn-group > .btn {\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\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 text-decoration: if($link-decoration == none, null, none);\n @include transition($nav-link-transition);\n\n &:hover,\n &:focus {\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 &#{$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-blacklist\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\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-blacklist\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\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\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 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: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\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",".close {\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n &:hover {\n color: $close-color;\n text-decoration: none;\n }\n\n &:hover,\n &:focus {\n opacity: .75;\n }\n\n &:disabled,\n &.disabled {\n pointer-events: none;\n }\n}\n\n// Additional properties 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// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n",".toast {\n max-width: $toast-max-width;\n overflow: hidden; // cheap rounded corners on nested items\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 backdrop-filter: blur(10px);\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}\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 max-height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\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: flex-start; // so the close btn always stays on the upper right corner\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 .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) 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 max-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 $next-breakpoint: breakpoint-next($breakpoint);\n $postfix: if(breakpoint-max($breakpoint, $grid-breakpoints) == null, \"\", \"-#{$next-breakpoint}-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","// 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-blacklist\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-blacklist\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: darken($value, $emphasized-link-hover-darken-percentage);\n }\n }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n width: 100%;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n}\n\n@each $key, $ratio in $embed-responsive-aspect-ratios {\n .embed-responsive-#{$key} {\n &::before {\n padding-top: percentage(map-get($ratio, y) / map-get($ratio, x));\n }\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// Screenreaders\n//\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n @include sr-only();\n}\n","// stylelint-disable declaration-no-important\n\n// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only {\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 sr-only-focusable {\n &:not(:focus) {\n @include sr-only();\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","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/_embed.scss","../../scss/helpers/_position.scss","../../scss/helpers/_screenreaders.scss","../../scss/mixins/_screen-reader.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-alpha1 (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// See https://www.w3schools.com/tags/tryit.asp?filename=tryhtml_hr_size\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. Matches default `<td>` alignment by inheriting `text-align`.\n// 2. Fix alignment for Safari\n\nth {\n text-align: inherit; // 1\n text-align: -webkit-match-parent; // 2\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-blacklist\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-alpha1 (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: #28a745;\n --bs-teal: #20c997;\n --bs-cyan: #17a2b8;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #28a745;\n --bs-info: #17a2b8;\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 width: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\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: 1 0 100%;\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: #b3cdf3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #acc4e9;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #afc9ee;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #acc4e9;\n}\n\n.table-secondary {\n --bs-table-bg: #d6d8db;\n --bs-table-striped-bg: #cdcfd2;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #c4c6c9;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #c8cbce;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #c4c6c9;\n}\n\n.table-success {\n --bs-table-bg: #c3e6cb;\n --bs-table-striped-bg: #bbdcc3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #b3d3bb;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #b7d8bf;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #b3d3bb;\n}\n\n.table-info {\n --bs-table-bg: #bee5eb;\n --bs-table-striped-bg: #b6dbe1;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #aed2d8;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #b2d7dc;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #aed2d8;\n}\n\n.table-warning {\n --bs-table-bg: #ffeeba;\n --bs-table-striped-bg: #f4e4b3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #e9daac;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #eedfaf;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #e9daac;\n}\n\n.table-danger {\n --bs-table-bg: #f5c6cb;\n --bs-table-striped-bg: #eabec3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #e0b6bb;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #e5babf;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #e0b6bb;\n}\n\n.table-light {\n --bs-table-bg: #f8f9fa;\n --bs-table-striped-bg: #edeef0;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #e3e4e5;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #e8e9ea;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #e3e4e5;\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.2rem 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.2rem 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.75em;\n margin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n float: left;\n margin-left: -1.75em;\n}\n\n.form-check-input {\n width: 1.25em;\n height: 1.25em;\n margin-top: 0.125em;\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 -webkit-filter: brightness(90%);\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.2rem 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 -webkit-filter: 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.2rem 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.4rem;\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.2rem 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.2rem 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.2rem 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.2rem;\n margin-left: 0.2rem;\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: #28a745;\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(40, 167, 69, 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: #28a745;\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='%2328a745' 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: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 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: #28a745;\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='%2328a745' 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: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\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: #28a745;\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: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 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.2rem 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.2rem 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.2rem 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.2rem 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.2rem 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.2rem 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.2rem 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.2rem 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.2rem 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: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-check:focus + .btn-success, .btn-success:focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 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: #1e7e34;\n border-color: #1c7430;\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.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success:disabled, .btn-success.disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-check:focus + .btn-info, .btn-info:focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 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: #fff;\n background-color: #117a8b;\n border-color: #10707f;\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.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info:disabled, .btn-info.disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-check:focus + .btn-warning, .btn-warning:focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 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: #212529;\n background-color: #d39e00;\n border-color: #c69500;\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.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning:disabled, .btn-warning.disabled {\n color: #212529;\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.2rem 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.2rem 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: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-check:focus + .btn-light, .btn-light:focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 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: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\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.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light:disabled, .btn-light.disabled {\n color: #212529;\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.2rem 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.2rem 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.2rem 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.2rem 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.2rem 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.2rem 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: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-check:focus + .btn-outline-success, .btn-outline-success:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 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: #28a745;\n border-color: #28a745;\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.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success:disabled, .btn-outline-success.disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-check:focus + .btn-outline-info, .btn-outline-info:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 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: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\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.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info:disabled, .btn-outline-info.disabled {\n color: #17a2b8;\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: #212529;\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.2rem 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: #212529;\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.2rem 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.2rem 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.2rem 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: #212529;\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.2rem 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: #212529;\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.2rem 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.2rem 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.2rem 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 #e9ecef;\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.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.2rem;\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 > .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}\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 outline: 0;\n box-shadow: 0 0 0 0.2rem 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.25em 0.5em;\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: 3.5rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 1rem 1rem;\n color: inherit;\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: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info .alert-link {\n color: #062c33;\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: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\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.close {\n font-size: calc(1.275rem + 0.3vw);\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n@media (min-width: 1200px) {\n .close {\n font-size: 1.5rem;\n }\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:hover, .close:focus {\n opacity: .75;\n}\n\n.close:disabled, .close.disabled {\n pointer-events: none;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\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 -webkit-backdrop-filter: blur(10px);\n backdrop-filter: blur(10px);\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.25rem 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}\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 max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\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: flex-start;\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 .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem 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 max-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: 20px;\n height: 20px;\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 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 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 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%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@-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: #28a745;\n}\n\n.link-success:hover, .link-success:focus {\n color: #19692c;\n}\n\n.link-info {\n color: #17a2b8;\n}\n\n.link-info:hover, .link-info:focus {\n color: #0f6674;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ba8b00;\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: #cbd3da;\n}\n\n.link-dark {\n color: #343a40;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #121416;\n}\n\n.embed-responsive {\n position: relative;\n width: 100%;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 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.sr-only,\n.sr-only-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-none {\n display: none !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.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.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: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !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.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: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !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: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: none !important;\n }\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}\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-alpha1 (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: #28a745;\n --bs-teal: #20c997;\n --bs-cyan: #17a2b8;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #28a745;\n --bs-info: #17a2b8;\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 width: 100%;\n padding-right: 1rem;\n padding-left: 1rem;\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: 1 0 100%;\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: #b3cdf3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #acc4e9;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #afc9ee;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #acc4e9;\n}\n\n.table-secondary {\n --bs-table-bg: #d6d8db;\n --bs-table-striped-bg: #cdcfd2;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #c4c6c9;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #c8cbce;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #c4c6c9;\n}\n\n.table-success {\n --bs-table-bg: #c3e6cb;\n --bs-table-striped-bg: #bbdcc3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #b3d3bb;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #b7d8bf;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #b3d3bb;\n}\n\n.table-info {\n --bs-table-bg: #bee5eb;\n --bs-table-striped-bg: #b6dbe1;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #aed2d8;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #b2d7dc;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #aed2d8;\n}\n\n.table-warning {\n --bs-table-bg: #ffeeba;\n --bs-table-striped-bg: #f4e4b3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #e9daac;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #eedfaf;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #e9daac;\n}\n\n.table-danger {\n --bs-table-bg: #f5c6cb;\n --bs-table-striped-bg: #eabec3;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #e0b6bb;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #e5babf;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #e0b6bb;\n}\n\n.table-light {\n --bs-table-bg: #f8f9fa;\n --bs-table-striped-bg: #edeef0;\n --bs-table-striped-color: #212529;\n --bs-table-active-bg: #e3e4e5;\n --bs-table-active-color: #212529;\n --bs-table-hover-bg: #e8e9ea;\n --bs-table-hover-color: #212529;\n color: #212529;\n border-color: #e3e4e5;\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.2rem 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.2rem 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.75em;\n margin-bottom: 0.125rem;\n}\n\n.form-check .form-check-input {\n float: left;\n margin-left: -1.75em;\n}\n\n.form-check-input {\n width: 1.25em;\n height: 1.25em;\n margin-top: 0.125em;\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.2rem 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.2rem 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.4rem;\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.2rem 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.2rem 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.2rem 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.2rem;\n margin-left: 0.2rem;\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: #28a745;\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(40, 167, 69, 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: #28a745;\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='%2328a745' 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: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 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: #28a745;\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='%2328a745' 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: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: #28a745;\n}\n\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25);\n}\n\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: #28a745;\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: #28a745;\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: #28a745;\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 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.2rem 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.2rem 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.2rem 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.2rem 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.2rem 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.2rem 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.2rem 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.2rem 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.2rem 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: #28a745;\n border-color: #28a745;\n}\n\n.btn-success:hover {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n}\n\n.btn-check:focus + .btn-success, .btn-success:focus {\n color: #fff;\n background-color: #218838;\n border-color: #1e7e34;\n box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 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: #1e7e34;\n border-color: #1c7430;\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.2rem rgba(72, 180, 97, 0.5);\n}\n\n.btn-success:disabled, .btn-success.disabled {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-info {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-info:hover {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n}\n\n.btn-check:focus + .btn-info, .btn-info:focus {\n color: #fff;\n background-color: #138496;\n border-color: #117a8b;\n box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 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: #fff;\n background-color: #117a8b;\n border-color: #10707f;\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.2rem rgba(58, 176, 195, 0.5);\n}\n\n.btn-info:disabled, .btn-info.disabled {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-warning {\n color: #212529;\n background-color: #ffc107;\n border-color: #ffc107;\n}\n\n.btn-warning:hover {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n}\n\n.btn-check:focus + .btn-warning, .btn-warning:focus {\n color: #212529;\n background-color: #e0a800;\n border-color: #d39e00;\n box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 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: #212529;\n background-color: #d39e00;\n border-color: #c69500;\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.2rem rgba(222, 170, 12, 0.5);\n}\n\n.btn-warning:disabled, .btn-warning.disabled {\n color: #212529;\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.2rem 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.2rem 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: #212529;\n background-color: #f8f9fa;\n border-color: #f8f9fa;\n}\n\n.btn-light:hover {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n}\n\n.btn-check:focus + .btn-light, .btn-light:focus {\n color: #212529;\n background-color: #e2e6ea;\n border-color: #dae0e5;\n box-shadow: 0 0 0 0.2rem rgba(216, 217, 219, 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: #212529;\n background-color: #dae0e5;\n border-color: #d3d9df;\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.2rem rgba(216, 217, 219, 0.5);\n}\n\n.btn-light:disabled, .btn-light.disabled {\n color: #212529;\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.2rem 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.2rem 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.2rem 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.2rem 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.2rem 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.2rem 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: #28a745;\n border-color: #28a745;\n}\n\n.btn-outline-success:hover {\n color: #fff;\n background-color: #28a745;\n border-color: #28a745;\n}\n\n.btn-check:focus + .btn-outline-success, .btn-outline-success:focus {\n box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 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: #28a745;\n border-color: #28a745;\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.2rem rgba(40, 167, 69, 0.5);\n}\n\n.btn-outline-success:disabled, .btn-outline-success.disabled {\n color: #28a745;\n background-color: transparent;\n}\n\n.btn-outline-info {\n color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-outline-info:hover {\n color: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\n}\n\n.btn-check:focus + .btn-outline-info, .btn-outline-info:focus {\n box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 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: #fff;\n background-color: #17a2b8;\n border-color: #17a2b8;\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.2rem rgba(23, 162, 184, 0.5);\n}\n\n.btn-outline-info:disabled, .btn-outline-info.disabled {\n color: #17a2b8;\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: #212529;\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.2rem 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: #212529;\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.2rem 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.2rem 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.2rem 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: #212529;\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.2rem 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: #212529;\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.2rem 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.2rem 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.2rem 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 #e9ecef;\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.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.2rem;\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 > .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}\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 outline: 0;\n box-shadow: 0 0 0 0.2rem 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.25em 0.5em;\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: 3.5rem;\n}\n\n.alert-dismissible .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: 1rem 1rem;\n color: inherit;\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: #155724;\n background-color: #d4edda;\n border-color: #c3e6cb;\n}\n\n.alert-success .alert-link {\n color: #0b2e13;\n}\n\n.alert-info {\n color: #0c5460;\n background-color: #d1ecf1;\n border-color: #bee5eb;\n}\n\n.alert-info .alert-link {\n color: #062c33;\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: #155724;\n background-color: #c3e6cb;\n}\n\n.list-group-item-success.list-group-item-action:hover, .list-group-item-success.list-group-item-action:focus {\n color: #155724;\n background-color: #b1dfbb;\n}\n\n.list-group-item-success.list-group-item-action.active {\n color: #fff;\n background-color: #155724;\n border-color: #155724;\n}\n\n.list-group-item-info {\n color: #0c5460;\n background-color: #bee5eb;\n}\n\n.list-group-item-info.list-group-item-action:hover, .list-group-item-info.list-group-item-action:focus {\n color: #0c5460;\n background-color: #abdde5;\n}\n\n.list-group-item-info.list-group-item-action.active {\n color: #fff;\n background-color: #0c5460;\n border-color: #0c5460;\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.close {\n font-size: calc(1.275rem + 0.3vw);\n font-weight: 700;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n opacity: .5;\n}\n\n@media (min-width: 1200px) {\n .close {\n font-size: 1.5rem;\n }\n}\n\n.close:hover {\n color: #000;\n text-decoration: none;\n}\n\n.close:hover, .close:focus {\n opacity: .75;\n}\n\n.close:disabled, .close.disabled {\n pointer-events: none;\n}\n\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n\n.toast {\n max-width: 350px;\n overflow: hidden;\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 backdrop-filter: blur(10px);\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.25rem 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}\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 max-height: calc(100% - 1rem);\n}\n\n.modal-dialog-scrollable .modal-content {\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: flex-start;\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 .close {\n padding: 1rem 1rem;\n margin: -1rem -1rem -1rem 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 max-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: 20px;\n height: 20px;\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 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 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 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%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@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: #28a745;\n}\n\n.link-success:hover, .link-success:focus {\n color: #19692c;\n}\n\n.link-info {\n color: #17a2b8;\n}\n\n.link-info:hover, .link-info:focus {\n color: #0f6674;\n}\n\n.link-warning {\n color: #ffc107;\n}\n\n.link-warning:hover, .link-warning:focus {\n color: #ba8b00;\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: #cbd3da;\n}\n\n.link-dark {\n color: #343a40;\n}\n\n.link-dark:hover, .link-dark:focus {\n color: #121416;\n}\n\n.embed-responsive {\n position: relative;\n width: 100%;\n}\n\n.embed-responsive::before {\n display: block;\n content: \"\";\n}\n\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.embed-responsive-21by9::before {\n padding-top: 42.857143%;\n}\n\n.embed-responsive-16by9::before {\n padding-top: 56.25%;\n}\n\n.embed-responsive-4by3::before {\n padding-top: 75%;\n}\n\n.embed-responsive-1by1::before {\n padding-top: 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.sr-only,\n.sr-only-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-none {\n display: none !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.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.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: #28a745 !important;\n}\n\n.border-info {\n border-color: #17a2b8 !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.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: #28a745 !important;\n}\n\n.text-info {\n color: #17a2b8 !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: #28a745 !important;\n}\n\n.bg-info {\n background-color: #17a2b8 !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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: 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 .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-none {\n display: none !important;\n }\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}\n\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable property-blacklist\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) {\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) {\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) {\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) {\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) {\n @if $enable-rounded {\n border-top-left-radius: valid-radius($radius);\n }\n}\n\n@mixin border-top-right-radius($radius) {\n @if $enable-rounded {\n border-top-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-right-radius($radius) {\n @if $enable-rounded {\n border-bottom-right-radius: valid-radius($radius);\n }\n}\n\n@mixin border-bottom-left-radius($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($padding-x: $container-padding-x) {\n width: 100%;\n padding-right: $padding-x;\n padding-left: $padding-x;\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 $max: breakpoint-max(breakpoint-next($name, $breakpoints));\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($name, $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: 1 0 100%;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1); // stylelint-disable-line function-blacklist\n margin-right: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-blacklist\n margin-left: calc(var(--bs-gutter-x) / -2); // stylelint-disable-line function-blacklist\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-blacklist\n padding-left: calc(var(--bs-gutter-x) / 2); // stylelint-disable-line function-blacklist\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-seperator-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-blacklist\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-blacklist\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-padding-y $input-padding-x;\n @include font-size($input-font-size); // Match inputs\n font-weight: $font-weight-normal;\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: darken($background, 7.5%),\n $hover-border: darken($border, 10%),\n $hover-color: color-contrast($hover-background),\n $active-background: darken($background, 10%),\n $active-border: darken($border, 12.5%),\n $active-color: color-contrast($active-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: $color;\n background-color: $background;\n // Remove CSS gradients if they're enabled\n background-image: if($enable-gradients, none, null);\n border-color: $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 0;\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","@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 text-decoration: if($link-decoration == none, null, none);\n @include transition($nav-link-transition);\n\n &:hover,\n &:focus {\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 &#{$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-blacklist\n border-top-right-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\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-blacklist\n border-top-left-radius: 0;\n }\n .card-img-bottom,\n .card-footer {\n // stylelint-disable-next-line property-blacklist\n border-bottom-left-radius: 0;\n }\n }\n }\n }\n }\n}\n\n\n//\n// Accordion\n//\n\n.accordion {\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\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 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: $close-font-size + $alert-padding-x * 2;\n\n // Adjust close link position\n .close {\n position: absolute;\n top: 0;\n right: 0;\n padding: $alert-padding-y $alert-padding-x;\n color: inherit;\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",".close {\n @include font-size($close-font-size);\n font-weight: $close-font-weight;\n line-height: 1;\n color: $close-color;\n text-shadow: $close-text-shadow;\n opacity: .5;\n\n // Override <a>'s hover style\n &:hover {\n color: $close-color;\n text-decoration: none;\n }\n\n &:hover,\n &:focus {\n opacity: .75;\n }\n\n &:disabled,\n &.disabled {\n pointer-events: none;\n }\n}\n\n// Additional properties 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// stylelint-disable-next-line selector-no-qualifying-type\nbutton.close {\n padding: 0;\n background-color: transparent;\n border: 0;\n}\n",".toast {\n max-width: $toast-max-width;\n overflow: hidden; // cheap rounded corners on nested items\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 backdrop-filter: blur(10px);\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}\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 max-height: subtract(100%, $modal-dialog-margin * 2);\n\n .modal-content {\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: flex-start; // so the close btn always stays on the upper right corner\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 .close {\n padding: $modal-header-padding;\n // auto on the left force icon to the right even when there is no .modal-title\n margin: (-$modal-header-padding-y) (-$modal-header-padding-x) (-$modal-header-padding-y) 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 max-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","// 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-blacklist\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-blacklist\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: darken($value, $emphasized-link-hover-darken-percentage);\n }\n }\n }\n}\n","// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n width: 100%;\n\n &::before {\n display: block;\n content: \"\";\n }\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n }\n}\n\n@each $key, $ratio in $embed-responsive-aspect-ratios {\n .embed-responsive-#{$key} {\n &::before {\n padding-top: percentage(map-get($ratio, y) / map-get($ratio, x));\n }\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// Screenreaders\n//\n\n.sr-only,\n.sr-only-focusable:not(:focus) {\n @include sr-only();\n}\n","// stylelint-disable declaration-no-important\n\n// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content/\n// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/\n\n@mixin sr-only {\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 sr-only-focusable {\n &:not(:focus) {\n @include sr-only();\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 cff80ecbfc..4f99a3182b 100644
--- a/dist/js/bootstrap.bundle.js
+++ b/dist/js/bootstrap.bundle.js
@@ -1,7 +1,7 @@
/*!
* Bootstrap v5.0.0-alpha1 (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/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
@@ -83,7 +83,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-alpha1): util/index.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
var MAX_UID = 1000000;
@@ -258,7 +258,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-alpha1): dom/data.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -397,7 +397,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-alpha1): dom/event-handler.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/**
@@ -834,90 +834,6 @@
}
/**
- * --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha1): dom/selector-engine.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
- /**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
- */
-
- var NODE_TEXT = 3;
- var SelectorEngine = {
- matches: function matches(element, selector) {
- return element.matches(selector);
- },
- find: function find$1(selector, element) {
- var _ref;
-
- if (element === void 0) {
- element = document.documentElement;
- }
-
- return (_ref = []).concat.apply(_ref, find.call(element, selector));
- },
- findOne: function findOne$1(selector, element) {
- if (element === void 0) {
- element = document.documentElement;
- }
-
- return findOne.call(element, selector);
- },
- children: function children(element, selector) {
- var _ref2;
-
- var children = (_ref2 = []).concat.apply(_ref2, element.children);
-
- return children.filter(function (child) {
- return child.matches(selector);
- });
- },
- parents: function parents(element, selector) {
- var parents = [];
- var ancestor = element.parentNode;
-
- while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {
- if (this.matches(ancestor, selector)) {
- parents.push(ancestor);
- }
-
- ancestor = ancestor.parentNode;
- }
-
- return parents;
- },
- prev: function prev(element, selector) {
- var previous = element.previousElementSibling;
-
- while (previous) {
- if (previous.matches(selector)) {
- return [previous];
- }
-
- previous = previous.previousElementSibling;
- }
-
- return [];
- },
- next: function next(element, selector) {
- var next = element.nextElementSibling;
-
- while (next) {
- if (this.matches(next, selector)) {
- return [next];
- }
-
- next = next.nextElementSibling;
- }
-
- return [];
- }
- };
-
- /**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
@@ -929,16 +845,8 @@
var EVENT_KEY$1 = "." + DATA_KEY$1;
var DATA_API_KEY$1 = '.data-api';
var CLASS_NAME_ACTIVE = 'active';
- var CLASS_NAME_DISABLED = 'disabled';
- var CLASS_NAME_FOCUS = 'focus';
- var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]';
- var SELECTOR_DATA_TOGGLE = '[data-toggle="buttons"]';
- var SELECTOR_INPUT = 'input:not([type="hidden"])';
- var SELECTOR_ACTIVE = '.active';
- var SELECTOR_BUTTON = '.btn';
+ var SELECTOR_DATA_TOGGLE = '[data-toggle="button"]';
var EVENT_CLICK_DATA_API$1 = "click" + EVENT_KEY$1 + DATA_API_KEY$1;
- var EVENT_FOCUS_DATA_API = "focus" + EVENT_KEY$1 + DATA_API_KEY$1;
- var EVENT_BLUR_DATA_API = "blur" + EVENT_KEY$1 + DATA_API_KEY$1;
/**
* ------------------------------------------------------------------------
* Class Definition
@@ -956,46 +864,8 @@
// Public
_proto.toggle = function toggle() {
- var triggerChangeEvent = true;
- var addAriaPressed = true;
-
- var rootElement = this._element.closest(SELECTOR_DATA_TOGGLE);
-
- if (rootElement) {
- var input = SelectorEngine.findOne(SELECTOR_INPUT, this._element);
-
- if (input && input.type === 'radio') {
- if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {
- triggerChangeEvent = false;
- } else {
- var activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE, rootElement);
-
- if (activeElement) {
- activeElement.classList.remove(CLASS_NAME_ACTIVE);
- }
- }
-
- if (triggerChangeEvent) {
- if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains(CLASS_NAME_DISABLED) || rootElement.classList.contains(CLASS_NAME_DISABLED)) {
- return;
- }
-
- input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE);
- EventHandler.trigger(input, 'change');
- }
-
- input.focus();
- addAriaPressed = false;
- }
- }
-
- if (addAriaPressed) {
- this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE));
- }
-
- if (triggerChangeEvent) {
- this._element.classList.toggle(CLASS_NAME_ACTIVE);
- }
+ // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method
+ this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE));
};
_proto.dispose = function dispose() {
@@ -1038,9 +908,9 @@
*/
- EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
+ EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE, function (event) {
event.preventDefault();
- var button = event.target.closest(SELECTOR_BUTTON);
+ var button = event.target.closest(SELECTOR_DATA_TOGGLE);
var data = Data.getData(button, DATA_KEY$1);
if (!data) {
@@ -1049,20 +919,6 @@
data.toggle();
});
- EventHandler.on(document, EVENT_FOCUS_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
- var button = event.target.closest(SELECTOR_BUTTON);
-
- if (button) {
- button.classList.add(CLASS_NAME_FOCUS);
- }
- });
- EventHandler.on(document, EVENT_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
- var button = event.target.closest(SELECTOR_BUTTON);
-
- if (button) {
- button.classList.remove(CLASS_NAME_FOCUS);
- }
- });
var $$2 = getjQuery();
/**
* ------------------------------------------------------------------------
@@ -1087,7 +943,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-alpha1): dom/manipulator.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
function normalizeData(val) {
@@ -1165,6 +1021,90 @@
};
/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v5.0.0-alpha1): 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) {
+ var _ref;
+
+ if (element === void 0) {
+ element = document.documentElement;
+ }
+
+ return (_ref = []).concat.apply(_ref, find.call(element, selector));
+ },
+ findOne: function findOne$1(selector, element) {
+ if (element === void 0) {
+ element = document.documentElement;
+ }
+
+ return findOne.call(element, selector);
+ },
+ children: function children(element, selector) {
+ var _ref2;
+
+ var children = (_ref2 = []).concat.apply(_ref2, element.children);
+
+ return children.filter(function (child) {
+ return child.matches(selector);
+ });
+ },
+ parents: function parents(element, selector) {
+ var parents = [];
+ var ancestor = element.parentNode;
+
+ while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {
+ if (this.matches(ancestor, selector)) {
+ parents.push(ancestor);
+ }
+
+ ancestor = ancestor.parentNode;
+ }
+
+ return parents;
+ },
+ prev: function prev(element, selector) {
+ var previous = element.previousElementSibling;
+
+ while (previous) {
+ if (previous.matches(selector)) {
+ return [previous];
+ }
+
+ previous = previous.previousElementSibling;
+ }
+
+ return [];
+ },
+ next: function next(element, selector) {
+ var next = element.nextElementSibling;
+
+ while (next) {
+ if (this.matches(next, selector)) {
+ return [next];
+ }
+
+ next = next.nextElementSibling;
+ }
+
+ return [];
+ }
+ };
+
+ /**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
@@ -1221,7 +1161,7 @@
var CLASS_NAME_NEXT = 'carousel-item-next';
var CLASS_NAME_PREV = 'carousel-item-prev';
var CLASS_NAME_POINTER_EVENT = 'pointer-event';
- var SELECTOR_ACTIVE$1 = '.active';
+ var SELECTOR_ACTIVE = '.active';
var SELECTOR_ACTIVE_ITEM = '.active.carousel-item';
var SELECTOR_ITEM = '.carousel-item';
var SELECTOR_ITEM_IMG = '.carousel-item img';
@@ -1536,7 +1476,7 @@
_proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
if (this._indicatorsElement) {
- var indicators = SelectorEngine.find(SELECTOR_ACTIVE$1, this._indicatorsElement);
+ var indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement);
for (var i = 0; i < indicators.length; i++) {
indicators[i].classList.remove(CLASS_NAME_ACTIVE$1);
@@ -4805,7 +4745,7 @@
var EVENT_CLICK_DATA_API$4 = "click" + EVENT_KEY$4 + DATA_API_KEY$4;
var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY$4 + DATA_API_KEY$4;
var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY$4 + DATA_API_KEY$4;
- var CLASS_NAME_DISABLED$1 = 'disabled';
+ var CLASS_NAME_DISABLED = 'disabled';
var CLASS_NAME_SHOW$1 = 'show';
var CLASS_NAME_DROPUP = 'dropup';
var CLASS_NAME_DROPRIGHT = 'dropright';
@@ -4864,7 +4804,7 @@
// Public
_proto.toggle = function toggle() {
- if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED$1)) {
+ if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {
return;
}
@@ -4880,7 +4820,7 @@
};
_proto.show = function show() {
- if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED$1) || this._menu.classList.contains(CLASS_NAME_SHOW$1)) {
+ if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW$1)) {
return;
}
@@ -4944,7 +4884,7 @@
};
_proto.hide = function hide() {
- if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED$1) || !this._menu.classList.contains(CLASS_NAME_SHOW$1)) {
+ if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW$1)) {
return;
}
@@ -5179,7 +5119,7 @@
event.preventDefault();
event.stopPropagation();
- if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED$1)) {
+ if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {
return;
}
@@ -5902,7 +5842,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-alpha1): util/sanitizer.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];
@@ -7285,12 +7225,12 @@
var EVENT_CLICK_DATA_API$6 = "click" + EVENT_KEY$9 + DATA_API_KEY$7;
var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
var CLASS_NAME_ACTIVE$3 = 'active';
- var CLASS_NAME_DISABLED$2 = 'disabled';
+ var CLASS_NAME_DISABLED$1 = 'disabled';
var CLASS_NAME_FADE$3 = 'fade';
var CLASS_NAME_SHOW$5 = 'show';
var SELECTOR_DROPDOWN$1 = '.dropdown';
var SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';
- var SELECTOR_ACTIVE$2 = '.active';
+ var SELECTOR_ACTIVE$1 = '.active';
var SELECTOR_ACTIVE_UL = ':scope > li > .active';
var SELECTOR_DATA_TOGGLE$4 = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]';
var SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
@@ -7314,7 +7254,7 @@
_proto.show = function show() {
var _this = 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$2)) {
+ 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)) {
return;
}
@@ -7324,7 +7264,7 @@
var listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP$1);
if (listElement) {
- var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE$2;
+ var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE$1;
previous = SelectorEngine.find(itemSelector, listElement);
previous = previous[previous.length - 1];
}
@@ -7372,7 +7312,7 @@
_proto._activate = function _activate(element, container, callback) {
var _this2 = this;
- var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine.find(SELECTOR_ACTIVE_UL, container) : SelectorEngine.children(container, SELECTOR_ACTIVE$2);
+ var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine.find(SELECTOR_ACTIVE_UL, container) : SelectorEngine.children(container, SELECTOR_ACTIVE$1);
var active = activeElements[0];
var isTransitioning = callback && active && active.classList.contains(CLASS_NAME_FADE$3);
@@ -7715,7 +7655,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-alpha1): index.umd.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
var index_umd = {
diff --git a/dist/js/bootstrap.bundle.js.map b/dist/js/bootstrap.bundle.js.map
index 447cf09c52..021e9ecb63 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/dom/selector-engine.js","../../js/src/button.js","../../js/src/dom/manipulator.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-alpha1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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)\n .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-alpha1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\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-alpha1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 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 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)\n .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)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .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 informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .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-alpha1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\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\n .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\n .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-alpha1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } 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 = 'button'\nconst VERSION = '5.0.0-alpha1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"buttons\"]'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_BLUR_DATA_API = `blur${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 let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = this._element.closest(SELECTOR_DATA_TOGGLE)\n\n if (rootElement) {\n const input = SelectorEngine.findOne(SELECTOR_INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains(CLASS_NAME_DISABLED) ||\n rootElement.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(CLASS_NAME_ACTIVE)\n }\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_CARROT, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_BUTTON)\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUS_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = event.target.closest(SELECTOR_BUTTON)\n\n if (button) {\n button.classList.add(CLASS_NAME_FOCUS)\n }\n})\n\nEventHandler.on(document, EVENT_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = event.target.closest(SELECTOR_BUTTON)\n\n if (button) {\n button.classList.remove(CLASS_NAME_FOCUS)\n }\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-alpha1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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\n .on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler\n .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\n .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\n .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-alpha1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 const hasWidth = this._element.classList.contains(WIDTH)\n return hasWidth ? 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) {\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\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 }\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.0\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'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\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, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\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, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\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], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\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-alpha1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\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)\n .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\n .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-alpha1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\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-alpha1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 DefaultWhitelist = {\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, whiteList, 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 whitelistKeys = Object.keys(whiteList)\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 (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 DefaultWhitelist,\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-alpha1'\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', 'whiteList', '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 whiteList: '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 whiteList: DefaultWhitelist,\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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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 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.whiteList, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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)\n .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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, 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 const popperInstance = popperData.instance\n this.tip = popperInstance.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-alpha1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\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-alpha1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${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\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\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\n .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\n .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-alpha1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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-alpha1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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: 500\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 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 clearTimeout(this._timeout)\n this._timeout = null\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n () => this.hide()\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\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-alpha1): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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","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","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","NODE_TEXT","SelectorEngine","concat","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","CLASS_NAME_ACTIVE","CLASS_NAME_DISABLED","CLASS_NAME_FOCUS","SELECTOR_DATA_TOGGLE_CARROT","SELECTOR_DATA_TOGGLE","SELECTOR_INPUT","SELECTOR_ACTIVE","SELECTOR_BUTTON","EVENT_FOCUS_DATA_API","EVENT_BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","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_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","tagName","_getItemByDirection","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","hasWidth","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_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","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","currentTarget","backdropTransitionDuration","callbackRemove","modalTransitionDuration","isModalOverflowing","scrollHeight","clientHeight","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","DefaultWhitelist","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","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","elements","el","elName","attributeList","whitelistedAttributes","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","popperInstance","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"],"mappings":"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MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;AAC9C;EACA,EAAE,OAAO,IAAI,CAAC;EACd,CAAC;AACD;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,SAAS,GAAG;EAChB;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,GAAG;AACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,MAAM,EAAE;EACV;EACA,IAAI,KAAK,EAAE,GAAG;EACd;EACA,IAAI,OAAO,EAAE,IAAI;EACjB;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;EACA;EACA;EACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,IAAI,QAAQ,GAAG;EACf;EACA;EACA;EACA;EACA,EAAE,SAAS,EAAE,QAAQ;AACrB;EACA;EACA;EACA;EACA;EACA,EAAE,aAAa,EAAE,KAAK;AACtB;EACA;EACA;EACA;EACA;EACA,EAAE,aAAa,EAAE,IAAI;AACrB;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,eAAe,EAAE,KAAK;AACxB;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,QAAQ,EAAE,SAAS,QAAQ,GAAG,EAAE;AAClC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,QAAQ,EAAE,SAAS,QAAQ,GAAG,EAAE;AAClC;EACA;EACA;EACA;EACA;EACA;EACA,EAAE,SAAS,EAAE,SAAS;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/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-alpha1): 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)\n .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-alpha1): 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.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\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-alpha1): 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-alpha1): 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 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 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)\n .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)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .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 informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .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-alpha1): 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-alpha1'\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 let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\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\n .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\n .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-alpha1): 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-alpha1'\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-alpha1): 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-alpha1): 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-alpha1): 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-alpha1'\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\n .on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler\n .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\n .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\n .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-alpha1): 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-alpha1'\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 const hasWidth = this._element.classList.contains(WIDTH)\n return hasWidth ? 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) {\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\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 }\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.0\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'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\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, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\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, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\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], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\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-alpha1): 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-alpha1'\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\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)\n .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\n .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-alpha1): 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-alpha1'\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 this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\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-alpha1): 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 DefaultWhitelist = {\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, whiteList, 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 whitelistKeys = Object.keys(whiteList)\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 (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha1): 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 DefaultWhitelist,\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-alpha1'\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', 'whiteList', '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 whiteList: '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 whiteList: DefaultWhitelist,\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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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 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.whiteList, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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)\n .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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, 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 const popperInstance = popperData.instance\n this.tip = popperInstance.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-alpha1): 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-alpha1'\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 _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\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-alpha1): 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-alpha1'\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},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${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\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\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\n .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\n .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-alpha1): 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-alpha1'\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-alpha1): 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-alpha1'\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: 500\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 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 clearTimeout(this._timeout)\n this._timeout = null\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n () => this.hide()\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\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-alpha1): 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","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","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","toggleClass","className","add","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","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","hasWidth","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","currentTarget","backdropTransitionDuration","callbackRemove","modalTransitionDuration","isModalOverflowing","scrollHeight","clientHeight","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","DefaultWhitelist","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","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","elements","el","elName","attributeList","whitelistedAttributes","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","popperInstance","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"],"mappings":"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ACA;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;EACA;EACA;EACA;AACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAC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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 6aa4bd4c00..31eedf4300 100644
--- a/dist/js/bootstrap.bundle.min.js
+++ b/dist/js/bootstrap.bundle.min.js
@@ -1,7 +1,7 @@
/*!
* Bootstrap v5.0.0-alpha1 (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/master/LICENSE)
+ * 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=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(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function o(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?i(Object(o),!0).forEach((function(e){n(t,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):i(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}var r,s,a,l,c=function(t){do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t},u=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=u(t);return e&&document.querySelector(e)?e:null},h=function(t){var e=u(t);return e?document.querySelector(e):null},d=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},p=function(t){t.dispatchEvent(new Event("transitionend"))},m=function(t){return(t[0]||t).nodeType},g=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,r=n[i],s=e[i],a=s&&m(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+'".')}))},_=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},b=function(){return function(){}},y=function(t){return t.offsetHeight},w=function(){var t=window.jQuery;return t&&!document.body.hasAttribute("data-no-jquery")?t:null},E=(r={},s=1,{set:function(t,e,n){void 0===t.key&&(t.key={key:e,id:s},s++),r[t.key.id]=n},get:function(t,e){if(!t||void 0===t.key)return null;var n=t.key;return n.key===e?r[n.id]:null},delete:function(t,e){if(void 0!==t.key){var n=t.key;n.key===e&&(delete r[n.id],delete t.key)}}}),T=function(t,e,n){E.set(t,e,n)},L=function(t,e){return E.get(t,e)},k=function(t,e){E.delete(t,e)},O=Element.prototype.querySelectorAll,C=Element.prototype.querySelector,A=(a=new CustomEvent("Bootstrap",{cancelable:!0}),(l=document.createElement("div")).addEventListener("Bootstrap",(function(){return null})),a.preventDefault(),l.dispatchEvent(a),a.defaultPrevented),D=/:scope\b/;(function(){var t=document.createElement("div");try{t.querySelectorAll(":scope *")}catch(t){return!1}return!0})()||(O=function(t){if(!D.test(t))return this.querySelectorAll(t);var e=Boolean(this.id);e||(this.id=c("scope"));var n=null;try{t=t.replace(D,"#"+this.id),n=this.querySelectorAll(t)}finally{e||this.removeAttribute("id")}return n},C=function(t){if(!D.test(t))return this.querySelector(t);var e=O.call(this,t);return void 0!==e[0]?e[0]:null});var S=w(),x=/[^.]*(?=\..*)\.|.*/,N=/\..*/,I=/::\d+$/,j={},P=1,M={mouseenter:"mouseover",mouseleave:"mouseout"},H=["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 B(t,e){return e&&e+"::"+P++||t.uidEvent||P++}function R(t){var e=B(t);return t.uidEvent=e,j[e]=j[e]||{},j[e]}function F(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 W(t,e,n){var i="string"==typeof e,o=i?n:e,r=t.replace(N,""),s=M[r];return s&&(r=s),H.indexOf(r)>-1||(r=t),[i,o,r]}function U(t,e,n,i,o){if("string"==typeof e&&t){n||(n=i,i=null);var r=W(e,n,i),s=r[0],a=r[1],l=r[2],c=R(t),u=c[l]||(c[l]={}),f=F(u,a,s?n:null);if(f)f.oneOff=f.oneOff&&o;else{var h=B(a,e.replace(x,"")),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 i.oneOff&&V.off(t,o.type,n),n.apply(s,[o]);return null}}(t,n,i):function(t,e){return function n(i){return n.oneOff&&V.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 Q(t,e,n,i,o){var r=F(e[n],i,o);r&&(t.removeEventListener(n,r,Boolean(o)),delete e[n][r.uidEvent])}var V={on:function(t,e,n,i){U(t,e,n,i,!1)},one:function(t,e,n,i){U(t,e,n,i,!0)},off:function(t,e,n,i){if("string"==typeof e&&t){var o=W(e,n,i),r=o[0],s=o[1],a=o[2],l=a!==e,c=R(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];Q(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(I,"");if(!l||e.indexOf(i)>-1){var o=f[n];Q(t,c,a,o.originalHandler,o.delegationSelector)}}))}else{if(!c||!c[a])return;Q(t,c,a,s,r?n:null)}}},trigger:function(t,e,n){if("string"!=typeof e||!t)return null;var i,o=e.replace(N,""),r=e!==o,s=H.indexOf(o)>-1,a=!0,l=!0,c=!1,u=null;return r&&S&&(i=S.Event(e,n),S(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(),A||Object.defineProperty(u,"defaultPrevented",{get:function(){return!0}})),l&&t.dispatchEvent(u),u.defaultPrevented&&void 0!==i&&i.preventDefault(),u}},q="alert",Y=function(){function t(t){this._element=t,this._element&&T(t,"bs.alert",this)}var n=t.prototype;return n.close=function(t){var e=this._element;t&&(e=this._getRootElement(t));var n=this._triggerCloseEvent(e);null===n||n.defaultPrevented||this._removeElement(e)},n.dispose=function(){k(this._element,"bs.alert"),this._element=null},n._getRootElement=function(t){return h(t)||t.closest(".alert")},n._triggerCloseEvent=function(t){return V.trigger(t,"close.bs.alert")},n._removeElement=function(t){var e=this;if(t.classList.remove("show"),t.classList.contains("fade")){var n=d(t);V.one(t,"transitionend",(function(){return e._destroyElement(t)})),g(t,n)}else this._destroyElement(t)},n._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")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}}]),t}();V.on(document,"click.bs.alert.data-api",'[data-dismiss="alert"]',Y.handleDismiss(new Y));var z=w();if(z){var K=z.fn[q];z.fn[q]=Y.jQueryInterface,z.fn[q].Constructor=Y,z.fn[q].noConflict=function(){return z.fn[q]=K,Y.jQueryInterface}}var X={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,O.call(e,t))},findOne:function(t,e){return void 0===e&&(e=document.documentElement),C.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[]}},G=function(){function t(t){this._element=t,T(t,"bs.button",this)}var n=t.prototype;return n.toggle=function(){var t=!0,e=!0,n=this._element.closest('[data-toggle="buttons"]');if(n){var i=X.findOne('input:not([type="hidden"])',this._element);if(i&&"radio"===i.type){if(i.checked&&this._element.classList.contains("active"))t=!1;else{var o=X.findOne(".active",n);o&&o.classList.remove("active")}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains("active"),V.trigger(i,"change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains("active")),t&&this._element.classList.toggle("active")},n.dispose=function(){k(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")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}}]),t}();V.on(document,"click.bs.button.data-api",'[data-toggle^="button"]',(function(t){t.preventDefault();var e=t.target.closest(".btn"),n=L(e,"bs.button");n||(n=new G(e)),n.toggle()})),V.on(document,"focus.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=t.target.closest(".btn");e&&e.classList.add("focus")})),V.on(document,"blur.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=t.target.closest(".btn");e&&e.classList.remove("focus")}));var $=w();if($){var Z=$.fn.button;$.fn.button=G.jQueryInterface,$.fn.button.Constructor=G,$.fn.button.noConflict=function(){return $.fn.button=Z,G.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=o({},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="carousel",it=".bs.carousel",ot={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"},st={TOUCH:"touch",PEN:"pen"},at=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=X.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 n=t.prototype;return n.next=function(){this._isSliding||this._slide("next")},n.nextWhenVisible=function(){!document.hidden&&_(this._element)&&this.next()},n.prev=function(){this._isSliding||this._slide("prev")},n.pause=function(t){t||(this._isPaused=!0),X.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(p(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},n.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))},n.to=function(t){var e=this;this._activeElement=X.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])}},n.dispose=function(){V.off(this._element,it),k(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},n._getConfig=function(t){return t=o(o({},ot),t),v(nt,t,rt),t},n._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()}},n._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()},n._addTouchEventListeners=function(){var t=this,e=function(e){t._pointerEvent&&st[e.pointerType.toUpperCase()]?t.touchStartX=e.clientX:t._pointerEvent||(t.touchStartX=e.touches[0].clientX)},n=function(e){t._pointerEvent&&st[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))};X.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)})))},n._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()}},n._getItemIndex=function(t){return this._items=t&&t.parentNode?X.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)},n._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]},n._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(X.findOne(".active.carousel-item",this._element));return V.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:i,to:n})},n._setActiveIndicatorElement=function(t){if(this._indicatorsElement){for(var e=X.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")}},n._slide=function(t,e){var n,i,o,r=this,s=X.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),y(l),s.classList.add(n),l.classList.add(n);var f=parseInt(l.getAttribute("data-interval"),10);f?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=f):this._config.interval=this._config.defaultInterval||this._config.interval;var h=d(s);V.one(s,"transitionend",(function(){l.classList.remove(n,i),l.classList.add("active"),s.classList.remove("active",i,n),r._isSliding=!1,setTimeout((function(){V.trigger(r._element,"slid.bs.carousel",{relatedTarget:l,direction:o,from:a,to:c})}),0)})),g(s,h)}else s.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"),r=o(o({},ot),et.getDataAttributes(e));"object"==typeof n&&(r=o(o({},r),n));var s="string"==typeof n?n:r.slide;if(i||(i=new t(e,r)),"number"==typeof n)i.to(n);else if("string"==typeof s){if(void 0===i[s])throw new TypeError('No method named "'+s+'"');i[s]()}else r.interval&&r.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=o(o({},et.getDataAttributes(n)),et.getDataAttributes(this)),r=this.getAttribute("data-slide-to");r&&(i.interval=!1),t.carouselInterface(n,i),r&&L(n,"bs.carousel").to(r),e.preventDefault()}},t.getInstance=function(t){return L(t,"bs.carousel")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return ot}}]),t}();V.on(document,"click.bs.carousel.data-api","[data-slide], [data-slide-to]",at.dataApiClickHandler),V.on(window,"load.bs.carousel.data-api",(function(){for(var t=X.find('[data-ride="carousel"]'),e=0,n=t.length;e<n;e++)at.carouselInterface(t[e],L(t[e],"bs.carousel"))}));var lt=w();if(lt){var ct=lt.fn[nt];lt.fn[nt]=at.jQueryInterface,lt.fn[nt].Constructor=at,lt.fn[nt].noConflict=function(){return lt.fn[nt]=ct,at.jQueryInterface}}var ut="collapse",ft={toggle:!0,parent:""},ht={toggle:"boolean",parent:"(string|element)"},dt=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=X.find('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]');for(var n=X.find('[data-toggle="collapse"]'),i=0,o=n.length;i<o;i++){var r=n[i],s=f(r),a=X.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(),T(t,"bs.collapse",this)}var n=t.prototype;return n.toggle=function(){this._element.classList.contains("show")?this.hide():this.show()},n.show=function(){var e=this;if(!this._isTransitioning&&!this._element.classList.contains("show")){var n,i;this._parent&&0===(n=X.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=X.findOne(this._selector);if(n){var r=n.filter((function(t){return o!==t}));if((i=r[0]?L(r[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||T(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=d(this._element);V.one(this._element,"transitionend",(function(){e._element.classList.remove("collapsing"),e._element.classList.add("collapse","show"),e._element.style[s]="",e.setTransitioning(!1),V.trigger(e._element,"shown.bs.collapse")})),g(this._element,l),this._element.style[s]=this._element[a]+"px"}}},n.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",y(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=h(o);r&&!r.classList.contains("show")&&(o.classList.add("collapsed"),o.setAttribute("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[e]="";var s=d(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")})),g(this._element,s)}},n.setTransitioning=function(t){this._isTransitioning=t},n.dispose=function(){k(this._element,"bs.collapse"),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},n._getConfig=function(t){return(t=o(o({},ft),t)).toggle=Boolean(t.toggle),v(ut,t,ht),t},n._getDimension=function(){return this._element.classList.contains("width")?"width":"height"},n._getParent=function(){var t=this,e=this._config.parent;m(e)?void 0===e.jquery&&void 0===e[0]||(e=e[0]):e=X.findOne(e);var n='[data-toggle="collapse"][data-parent="'+e+'"]';return X.find(n,e).forEach((function(e){var n=h(e);t._addAriaAndCollapsedClass(n,[e])})),e},n._addAriaAndCollapsedClass=function(t,e){if(t){var n=t.classList.contains("show");e.length&&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"),r=o(o(o({},ft),et.getDataAttributes(e)),"object"==typeof n&&n?n:{});if(!i&&r.toggle&&"string"==typeof n&&/show|hide/.test(n)&&(r.toggle=!1),i||(i=new t(e,r)),"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")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{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);X.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,dt.collapseInterface(t,n)}))}));var pt=w();if(pt){var mt=pt.fn[ut];pt.fn[ut]=dt.jQueryInterface,pt.fn[ut].Constructor=dt,pt.fn[ut].noConflict=function(){return pt.fn[ut]=mt,dt.jQueryInterface}}var gt="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,vt=function(){for(var t=["Edge","Trident","Firefox"],e=0;e<t.length;e+=1)if(gt&&navigator.userAgent.indexOf(t[e])>=0)return 1;return 0}();var _t=gt&&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()}),vt))}};function bt(t){return t&&"[object Function]"==={}.toString.call(t)}function yt(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function wt(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function Et(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=yt(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:Et(wt(t))}function Tt(t){return t&&t.referenceNode?t.referenceNode:t}var Lt=gt&&!(!window.MSInputMethodContext||!document.documentMode),kt=gt&&/MSIE 10/.test(navigator.userAgent);function Ot(t){return 11===t?Lt:10===t?kt:Lt||kt}function Ct(t){if(!t)return document.documentElement;for(var e=Ot(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"===yt(n,"position")?Ct(n):n:t?t.ownerDocument.documentElement:document.documentElement}function At(t){return null!==t.parentNode?At(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=r.commonAncestorContainer;if(t!==s&&e!==s||i.contains(o))return function(t){var e=t.nodeName;return"BODY"!==e&&("HTML"===e||Ct(t.firstElementChild)===t)}(s)?s:Ct(s);var a=At(t);return a.host?Dt(a.host,e):Dt(t,At(e).host)}function St(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 xt(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=St(e,"top"),o=St(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 Nt(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"],10)+parseFloat(t["border"+i+"Width"],10)}function It(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],Ot(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function jt(t){var e=t.body,n=t.documentElement,i=Ot(10)&&getComputedStyle(n);return{height:It("Height",e,n,i),width:It("Width",e,n,i)}}var Pt=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},Mt=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}}(),Ht=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},Bt=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 Rt(t){return Bt({},t,{right:t.left+t.width,bottom:t.top+t.height})}function Ft(t){var e={};try{if(Ot(10)){e=t.getBoundingClientRect();var n=St(t,"top"),i=St(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?jt(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=yt(t);l-=Nt(u,"x"),c-=Nt(u,"y"),o.width-=l,o.height-=c}return Rt(o)}function Wt(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Ot(10),o="HTML"===e.nodeName,r=Ft(t),s=Ft(e),a=Et(t),l=yt(e),c=parseFloat(l.borderTopWidth,10),u=parseFloat(l.borderLeftWidth,10);n&&o&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var f=Rt({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,10),d=parseFloat(l.marginLeft,10);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=xt(f,e)),f}function Ut(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=Wt(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:St(n),a=e?0:St(n,"left"),l={top:s-i.top+i.marginTop,left:a-i.left+i.marginLeft,width:o,height:r};return Rt(l)}function Qt(t){var e=t.nodeName;if("BODY"===e||"HTML"===e)return!1;if("fixed"===yt(t,"position"))return!0;var n=wt(t);return!!n&&Qt(n)}function Vt(t){if(!t||!t.parentElement||Ot())return document.documentElement;for(var e=t.parentElement;e&&"none"===yt(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?Vt(t):Dt(t,Tt(e));if("viewport"===i)r=Ut(s,o);else{var a=void 0;"scrollParent"===i?"BODY"===(a=Et(wt(e))).nodeName&&(a=t.ownerDocument.documentElement):a="window"===i?t.ownerDocument.documentElement:i;var l=Wt(a,s,o);if("HTML"!==a.nodeName||Qt(s))r=l;else{var c=jt(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 Yt(t){return t.width*t.height}function zt(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 Bt({key:t},a[t],{area:Yt(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 Kt(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=i?Vt(e):Dt(e,Tt(n));return Wt(n,o,i)}function Xt(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 Gt(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 $t(t,e,n){n=n.split("-")[0];var i=Xt(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[Gt(a)],o}function Zt(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function Jt(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=Zt(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&&bt(n)&&(e.offsets.popper=Rt(e.offsets.popper),e.offsets.reference=Rt(e.offsets.reference),e=n(e,t))})),e}function te(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=Kt(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=zt(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=$t(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=Jt(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function ee(t,e){return t.some((function(t){var n=t.name;return t.enabled&&n===e}))}function ne(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 ie(){return this.state.isDestroyed=!0,ee(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[ne("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function oe(t){var e=t.ownerDocument;return e?e.defaultView:window}function re(t,e,n,i){n.updateBound=i,oe(t).addEventListener("resize",n.updateBound,{passive:!0});var o=Et(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(Et(s.parentNode),n,i,o),o.push(s)}(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function se(){this.state.eventsEnabled||(this.state=re(this.reference,this.options,this.state,this.scheduleUpdate))}function ae(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,oe(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 le(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function ce(t,e){Object.keys(e).forEach((function(n){var i="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&le(e[n])&&(i="px"),t.style[n]=e[n]+i}))}var ue=gt&&/Firefox/i.test(navigator.userAgent);function fe(t,e,n){var i=Zt(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 he=["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"],de=he.slice(3);function pe(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=de.indexOf(t),i=de.slice(n+1).concat(de.slice(0,n));return e?i.reverse():i}var me="flip",ge="clockwise",ve="counterclockwise";function _e(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(Zt(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 Rt(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){le(n)&&(o[e]+=n*("-"===t[i-1]?-1:1))}))})),o}var be={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:Ht({},l,r[l]),end:Ht({},l,r[l]+r[c]-s[c])};t.offsets.popper=Bt({},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=le(+n)?[+n,0]:_e(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||Ct(t.instance.popper);t.instance.reference===n&&(n=Ct(n));var i=ne("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])),Ht({},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))),Ht({},n,i)}};return c.forEach((function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";u=Bt({},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(!fe(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=Xt(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=Rt(t.offsets.popper);var m=a[f]+a[c]/2-p/2,g=yt(t.instance.popper),v=parseFloat(g["margin"+u],10),_=parseFloat(g["border"+u+"Width"],10),b=m-t.offsets.popper[f]-v-_;return b=Math.max(Math.min(s[c]-p,b),0),t.arrowElement=i,t.offsets.arrow=(Ht(n={},f,Math.round(b)),Ht(n,h,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(ee(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=Gt(i),r=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case me:s=[i,o];break;case ge:s=pe(i);break;case ve:s=pe(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=Gt(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),m=f(c.top)<f(n.top),g=f(c.bottom)>f(n.bottom),v="left"===i&&d||"right"===i&&p||"top"===i&&m||"bottom"===i&&g,_=-1!==["top","bottom"].indexOf(i),b=!!e.flipVariations&&(_&&"start"===r&&d||_&&"end"===r&&p||!_&&"start"===r&&m||!_&&"end"===r&&g),y=!!e.flipVariationsByContent&&(_&&"start"===r&&p||_&&"end"===r&&d||!_&&"start"===r&&g||!_&&"end"===r&&m),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=Bt({},t.offsets.popper,$t(t.instance.popper,t.offsets.reference,t.placement)),t=Jt(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=Gt(e),t.offsets.popper=Rt(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!fe(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=Zt(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=Zt(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=Ct(t.instance.popper),l=Ft(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||!ue),f="bottom"===n?"top":"bottom",h="right"===i?"left":"right",d=ne("transform"),p=void 0,m=void 0;if(m="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, "+m+"px, 0)",c[f]=0,c[h]=0,c.willChange="transform";else{var g="bottom"===f?-1:1,v="right"===h?-1:1;c[f]=m*g,c[h]=p*v,c.willChange=f+", "+h}var _={"x-placement":t.placement};return t.attributes=Bt({},_,t.attributes),t.styles=Bt({},c,t.styles),t.arrowStyles=Bt({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){return ce(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&&ce(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,i,o){var r=Kt(o,e,t,n.positionFixed),s=zt(n.placement,r,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),ce(e,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},ye=function(){function t(e,n){var i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Pt(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=_t(this.update.bind(this)),this.options=Bt({},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(Bt({},t.Defaults.modifiers,o.modifiers)).forEach((function(e){i.options.modifiers[e]=Bt({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return Bt({name:t},i.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&bt(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 Mt(t,[{key:"update",value:function(){return te.call(this)}},{key:"destroy",value:function(){return ie.call(this)}},{key:"enableEventListeners",value:function(){return se.call(this)}},{key:"disableEventListeners",value:function(){return ae.call(this)}}]),t}();ye.Utils=("undefined"!=typeof window?window:global).PopperUtils,ye.placements=he,ye.Defaults=be;var we="dropdown",Ee=new RegExp("ArrowUp|ArrowDown|Escape"),Te={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)"},ke=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 n=t.prototype;return n.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")){var e=this._element.classList.contains("show");t.clearMenus(),e||this.show()}},n.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(!V.trigger(this._element,"show.bs.dropdown",n).defaultPrevented){if(!this._inNavbar){if(void 0===ye)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var i=this._element;"parent"===this._config.reference?i=e:m(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 ye(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 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",n)}}},n.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))}},n.dispose=function(){k(this._element,"bs.dropdown"),V.off(this._element,".bs.dropdown"),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},n.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},n._addEventListeners=function(){var t=this;V.on(this._element,"click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},n._getConfig=function(t){return t=o(o(o({},this.constructor.Default),et.getDataAttributes(this._element)),t),v(we,t,this.constructor.DefaultType),t},n._getMenuElement=function(){return X.next(this._element,".dropdown-menu")[0]},n._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},n._detectNavbar=function(){return Boolean(this._element.closest(".navbar"))},n._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=o(o({},e.offsets),t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},n._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}),o(o({},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=X.find('[data-toggle="dropdown"]'),i=0,o=n.length;i<o;i++){var r=t.getParentFromElement(n[i]),s=L(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(!V.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 V.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"),V.trigger(r,"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")):!Ee.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:X.prev(this,'[data-toggle="dropdown"]')[0]).focus(),void t.clearMenus();if(i&&"Space"!==e.key){var o=X.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",n).filter(_);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 L(t,"bs.dropdown")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return Te}},{key:"DefaultType",get:function(){return Le}}]),t}();V.on(document,"keydown.bs.dropdown.data-api",'[data-toggle="dropdown"]',ke.dataApiKeydownHandler),V.on(document,"keydown.bs.dropdown.data-api",".dropdown-menu",ke.dataApiKeydownHandler),V.on(document,"click.bs.dropdown.data-api",ke.clearMenus),V.on(document,"keyup.bs.dropdown.data-api",ke.clearMenus),V.on(document,"click.bs.dropdown.data-api",'[data-toggle="dropdown"]',(function(t){t.preventDefault(),t.stopPropagation(),ke.dropdownInterface(this,"toggle")})),V.on(document,"click.bs.dropdown.data-api",".dropdown form",(function(t){return t.stopPropagation()}));var Oe=w();if(Oe){var Ce=Oe.fn[we];Oe.fn[we]=ke.jQueryInterface,Oe.fn[we].Constructor=ke,Oe.fn[we].noConflict=function(){return Oe.fn[we]=Ce,ke.jQueryInterface}}var Ae={backdrop:!0,keyboard:!0,focus:!0,show:!0},De={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Se=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=X.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 n=t.prototype;return n.toggle=function(t){return this._isShown?this.hide():this.show(t)},n.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)})))}},n.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=d(this._element);V.one(this._element,"transitionend",(function(t){return e._hideModal(t)})),g(this._element,i)}else this._hideModal()}},n.dispose=function(){[window,this._element,this._dialog].forEach((function(t){return V.off(t,".bs.modal")})),V.off(document,"focusin.bs.modal"),k(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},n.handleUpdate=function(){this._adjustDialog()},n._getConfig=function(t){return t=o(o({},Ae),t),v("modal",t,De),t},n._showElement=function(t){var e=this,n=this._element.classList.contains("fade"),i=X.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&&y(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 r=d(this._dialog);V.one(this._dialog,"transitionend",o),g(this._dialog,r)}else o()},n._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()}))},n._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")},n._setResizeEvent=function(){var t=this;this._isShown?V.on(window,"resize.bs.modal",(function(){return t._adjustDialog()})):V.off(window,"resize.bs.modal")},n._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")}))},n._removeBackdrop=function(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null},n._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&&y(this._backdrop),this._backdrop.classList.add("show"),!n)return void t();var i=d(this._backdrop);V.one(this._backdrop,"transitionend",t),g(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=d(this._backdrop);V.one(this._backdrop,"transitionend",o),g(this._backdrop,r)}else o()}else t()},n._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){if(V.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;this._element.classList.add("modal-static");var e=d(this._element);V.one(this._element,"transitionend",(function(){t._element.classList.remove("modal-static")})),g(this._element,e),this._element.focus()}else this.hide()},n._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")},n._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},n._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},n._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){X.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"})),X.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")},n._resetScrollbar=function(){X.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)})),X.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)},n._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"),r=o(o(o({},Ae),et.getDataAttributes(this)),"object"==typeof e&&e?e:{});if(i||(i=new t(this,r)),"string"==typeof e){if(void 0===i[e])throw new TypeError('No method named "'+e+'"');i[e](n)}else r.show&&i.show(n)}))},t.getInstance=function(t){return L(t,"bs.modal")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return Ae}}]),t}();V.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(),V.one(n,"show.bs.modal",(function(t){t.defaultPrevented||V.one(n,"hidden.bs.modal",(function(){_(e)&&e.focus()}))}));var i=L(n,"bs.modal");if(!i){var r=o(o({},et.getDataAttributes(n)),et.getDataAttributes(this));i=new Se(n,r)}i.show(this)}));var xe=w();if(xe){var Ne=xe.fn.modal;xe.fn.modal=Se.jQueryInterface,xe.fn.modal.Constructor=Se,xe.fn.modal.noConflict=function(){return xe.fn.modal=Ne,Se.jQueryInterface}}var Ie=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],je=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,Pe=/^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 He(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===Ie.indexOf(n)||Boolean(t.nodeValue.match(je)||t.nodeValue.match(Pe));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 Be="tooltip",Re=new RegExp("(^|\\s)bs-tooltip\\S+","g"),Fe=["sanitize","whiteList","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)",whiteList:"object",popperConfig:"(null|object)"},Ue={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Qe={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,whiteList:Me,popperConfig:null},Ve={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===ye)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 n=t.prototype;return n.enable=function(){this._isEnabled=!0},n.disable=function(){this._isEnabled=!1},n.toggleEnabled=function(){this._isEnabled=!this._isEnabled},n.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=L(t.target,e);n||(n=new this.constructor(t.target,this._getDelegateConfig()),T(t.target,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)}},n.dispose=function(){clearTimeout(this._timeout),k(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},n.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),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=c(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,a=this._getAttachment(s);this._addAttachmentClass(a);var l,u=this._getContainer();if(T(o,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||u.appendChild(o),V.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new ye(this.element,o,this._getPopperConfig(a)),o.classList.add("show"),"ontouchstart"in document.documentElement)(l=[]).concat.apply(l,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 h=d(this.tip);V.one(this.tip,"transitionend",f),g(this.tip,h)}else f()}},n.hide=function(){var t=this,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",b)}));if(this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this.tip.classList.contains("fade")){var o=d(e);V.one(e,"transitionend",n),g(e,o)}else n();this._hoverState=""}},n.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},n.isWithContent=function(){return Boolean(this.getTitle())},n.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},n.setContent=function(){var t=this.getTipElement();this.setElementContent(X.findOne(".tooltip-inner",t),this.getTitle()),t.classList.remove("fade","show")},n.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=He(e,this.config.whiteList,this.config.sanitizeFn)),t.innerHTML=e):t.textContent=e)},n.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},n._getPopperConfig=function(t){var e=this;return o(o({},{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)},n._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-tooltip-"+t)},n._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=o(o({},e.offsets),t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},n._getContainer=function(){return!1===this.config.container?document.body:m(this.config.container)?this.config.container:X.findOne(this.config.container)},n._getAttachment=function(t){return Ue[t.toUpperCase()]},n._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=o(o({},this.config),{},{trigger:"manual",selector:""}):this._fixTitle()},n._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",""))},n._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||L(t.target,n))||(e=new this.constructor(t.target,this._getDelegateConfig()),T(t.target,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())},n._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||L(t.target,n))||(e=new this.constructor(t.target,this._getDelegateConfig()),T(t.target,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())},n._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},n._getConfig=function(t){var e=et.getDataAttributes(this.element);return Object.keys(e).forEach((function(t){-1!==Fe.indexOf(t)&&delete e[t]})),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t=o(o(o({},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(Be,t,this.constructor.DefaultType),t.sanitize&&(t.template=He(t.template,t.whiteList,t.sanitizeFn)),t},n._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},n._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(Re);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},n._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(t.placement))},n._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")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return Qe}},{key:"NAME",get:function(){return Be}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return Ve}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return We}}]),t}(),Ye=w();if(Ye){var ze=Ye.fn[Be];Ye.fn[Be]=qe.jQueryInterface,Ye.fn[Be].Constructor=qe,Ye.fn[Be].noConflict=function(){return Ye.fn[Be]=ze,qe.jQueryInterface}}var Ke="popover",Xe=new RegExp("(^|\\s)bs-popover\\S+","g"),Ge=o(o({},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>'}),$e=o(o({},qe.DefaultType),{},{content:"(string|element|function)"}),Ze={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"},Je=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(X.findOne(".popover-header",t),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(X.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(Xe);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=L(this,"bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),T(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 L(t,"bs.popover")},e(o,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return Ge}},{key:"NAME",get:function(){return Ke}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return Ze}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return $e}}]),o}(qe),tn=w();if(tn){var en=tn.fn[Ke];tn.fn[Ke]=Je.jQueryInterface,tn.fn[Ke].Constructor=Je,tn.fn[Ke].noConflict=function(){return tn.fn[Ke]=en,Je.jQueryInterface}}var nn="scrollspy",on={offset:10,method:"auto",target:""},rn={offset:"number",method:"string",target:"(string|element)"},sn=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(),T(t,"bs.scrollspy",this)}var n=t.prototype;return n.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(),X.find(this._selector).map((function(t){var e,o=f(t);if(o&&(e=X.findOne(o)),e){var r=e.getBoundingClientRect();if(r.width||r.height)return[et[n](e).top+i,o]}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])}))},n.dispose=function(){k(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},n._getConfig=function(t){if("string"!=typeof(t=o(o({},on),"object"==typeof t&&t?t:{})).target&&m(t.target)){var e=t.target.id;e||(e=c(nn),t.target.id=e),t.target="#"+e}return v(nn,t,rn),t},n._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},n._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},n._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},n._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])}}},n._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=X.findOne(e.join(","));n.classList.contains("dropdown-item")?(X.findOne(".dropdown-toggle",n.closest(".dropdown")).classList.add("active"),n.classList.add("active")):(n.classList.add("active"),X.parents(n,".nav, .list-group").forEach((function(t){X.prev(t,".nav-link, .list-group-item").forEach((function(t){return t.classList.add("active")})),X.prev(t,".nav-item").forEach((function(t){X.children(t,".nav-link").forEach((function(t){return t.classList.add("active")}))}))}))),V.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})},n._clear=function(){X.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")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return on}}]),t}();V.on(window,"load.bs.scrollspy.data-api",(function(){X.find('[data-spy="scroll"]').forEach((function(t){return new sn(t,et.getDataAttributes(t))}))}));var an=w();if(an){var ln=an.fn[nn];an.fn[nn]=sn.jQueryInterface,an.fn[nn].Constructor=sn,an.fn[nn].noConflict=function(){return an.fn[nn]=ln,sn.jQueryInterface}}var cn=function(){function t(t){this._element=t,T(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=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=X.find(o,i))[e.length-1]}var r=null;if(e&&(r=V.trigger(e,"hide.bs.tab",{relatedTarget:this._element})),!(V.trigger(this._element,"show.bs.tab",{relatedTarget:e}).defaultPrevented||null!==r&&r.defaultPrevented)){this._activate(this._element,i);var s=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,s):s()}}},n.dispose=function(){k(this._element,"bs.tab"),this._element=null},n._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?X.children(e,".active"):X.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=d(o);o.classList.remove("show"),V.one(o,"transitionend",s),g(o,a)}else s()},n._transitionComplete=function(t,e,n){if(e){e.classList.remove("active");var i=X.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),y(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&t.parentNode.classList.contains("dropdown-menu"))&&(t.closest(".dropdown")&&X.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")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}}]),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 cn(this)).show()}));var un=w();if(un){var fn=un.fn.tab;un.fn.tab=cn.jQueryInterface,un.fn.tab.Constructor=cn,un.fn.tab.noConflict=function(){return un.fn.tab=fn,cn.jQueryInterface}}var hn={animation:"boolean",autohide:"boolean",delay:"number"},dn={animation:!0,autohide:!0,delay:500},pn=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners(),T(t,"bs.toast",this)}var n=t.prototype;return n.show=function(){var t=this;if(!V.trigger(this._element,"show.bs.toast").defaultPrevented){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"),y(this._element),this._element.classList.add("showing"),this._config.animation){var n=d(this._element);V.one(this._element,"transitionend",e),g(this._element,n)}else e()}},n.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=d(this._element);V.one(this._element,"transitionend",e),g(this._element,n)}else e()}},n.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains("show")&&this._element.classList.remove("show"),V.off(this._element,"click.dismiss.bs.toast"),k(this._element,"bs.toast"),this._element=null,this._config=null},n._getConfig=function(t){return t=o(o(o({},dn),et.getDataAttributes(this._element)),"object"==typeof t&&t?t:{}),v("toast",t,this.constructor.DefaultType),t},n._setListeners=function(){var t=this;V.on(this._element,"click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},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")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"DefaultType",get:function(){return hn}},{key:"Default",get:function(){return dn}}]),t}(),mn=w();if(mn){var gn=mn.fn.toast;mn.fn.toast=pn.jQueryInterface,mn.fn.toast.Constructor=pn,mn.fn.toast.noConflict=function(){return mn.fn.toast=gn,pn.jQueryInterface}}return{Alert:Y,Button:G,Carousel:at,Collapse:dt,Dropdown:ke,Modal:Se,Popover:Je,ScrollSpy:sn,Tab:cn,Toast:pn,Tooltip:qe}}));
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=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(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function i(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function o(t){for(var e=1;e<arguments.length;e++){var o=null!=arguments[e]?arguments[e]:{};e%2?i(Object(o),!0).forEach((function(e){n(t,e,o[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(o)):i(Object(o)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(o,e))}))}return t}var r,s,a,l,c=function(t){do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t},u=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=u(t);return e&&document.querySelector(e)?e:null},h=function(t){var e=u(t);return e?document.querySelector(e):null},d=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},p=function(t){t.dispatchEvent(new Event("transitionend"))},m=function(t){return(t[0]||t).nodeType},g=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,r=n[i],s=e[i],a=s&&m(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+'".')}))},_=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},b=function(){return function(){}},y=function(t){return t.offsetHeight},w=function(){var t=window.jQuery;return t&&!document.body.hasAttribute("data-no-jquery")?t:null},E=(r={},s=1,{set:function(t,e,n){void 0===t.key&&(t.key={key:e,id:s},s++),r[t.key.id]=n},get:function(t,e){if(!t||void 0===t.key)return null;var n=t.key;return n.key===e?r[n.id]:null},delete:function(t,e){if(void 0!==t.key){var n=t.key;n.key===e&&(delete r[n.id],delete t.key)}}}),T=function(t,e,n){E.set(t,e,n)},L=function(t,e){return E.get(t,e)},k=function(t,e){E.delete(t,e)},O=Element.prototype.querySelectorAll,C=Element.prototype.querySelector,A=(a=new CustomEvent("Bootstrap",{cancelable:!0}),(l=document.createElement("div")).addEventListener("Bootstrap",(function(){return null})),a.preventDefault(),l.dispatchEvent(a),a.defaultPrevented),D=/:scope\b/;(function(){var t=document.createElement("div");try{t.querySelectorAll(":scope *")}catch(t){return!1}return!0})()||(O=function(t){if(!D.test(t))return this.querySelectorAll(t);var e=Boolean(this.id);e||(this.id=c("scope"));var n=null;try{t=t.replace(D,"#"+this.id),n=this.querySelectorAll(t)}finally{e||this.removeAttribute("id")}return n},C=function(t){if(!D.test(t))return this.querySelector(t);var e=O.call(this,t);return void 0!==e[0]?e[0]:null});var S=w(),x=/[^.]*(?=\..*)\.|.*/,N=/\..*/,I=/::\d+$/,j={},P=1,M={mouseenter:"mouseover",mouseleave:"mouseout"},H=["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 B(t,e){return e&&e+"::"+P++||t.uidEvent||P++}function R(t){var e=B(t);return t.uidEvent=e,j[e]=j[e]||{},j[e]}function F(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 W(t,e,n){var i="string"==typeof e,o=i?n:e,r=t.replace(N,""),s=M[r];return s&&(r=s),H.indexOf(r)>-1||(r=t),[i,o,r]}function U(t,e,n,i,o){if("string"==typeof e&&t){n||(n=i,i=null);var r=W(e,n,i),s=r[0],a=r[1],l=r[2],c=R(t),u=c[l]||(c[l]={}),f=F(u,a,s?n:null);if(f)f.oneOff=f.oneOff&&o;else{var h=B(a,e.replace(x,"")),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 i.oneOff&&V.off(t,o.type,n),n.apply(s,[o]);return null}}(t,n,i):function(t,e){return function n(i){return n.oneOff&&V.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 Q(t,e,n,i,o){var r=F(e[n],i,o);r&&(t.removeEventListener(n,r,Boolean(o)),delete e[n][r.uidEvent])}var V={on:function(t,e,n,i){U(t,e,n,i,!1)},one:function(t,e,n,i){U(t,e,n,i,!0)},off:function(t,e,n,i){if("string"==typeof e&&t){var o=W(e,n,i),r=o[0],s=o[1],a=o[2],l=a!==e,c=R(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];Q(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(I,"");if(!l||e.indexOf(i)>-1){var o=f[n];Q(t,c,a,o.originalHandler,o.delegationSelector)}}))}else{if(!c||!c[a])return;Q(t,c,a,s,r?n:null)}}},trigger:function(t,e,n){if("string"!=typeof e||!t)return null;var i,o=e.replace(N,""),r=e!==o,s=H.indexOf(o)>-1,a=!0,l=!0,c=!1,u=null;return r&&S&&(i=S.Event(e,n),S(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(),A||Object.defineProperty(u,"defaultPrevented",{get:function(){return!0}})),l&&t.dispatchEvent(u),u.defaultPrevented&&void 0!==i&&i.preventDefault(),u}},q="alert",Y=function(){function t(t){this._element=t,this._element&&T(t,"bs.alert",this)}var n=t.prototype;return n.close=function(t){var e=this._element;t&&(e=this._getRootElement(t));var n=this._triggerCloseEvent(e);null===n||n.defaultPrevented||this._removeElement(e)},n.dispose=function(){k(this._element,"bs.alert"),this._element=null},n._getRootElement=function(t){return h(t)||t.closest(".alert")},n._triggerCloseEvent=function(t){return V.trigger(t,"close.bs.alert")},n._removeElement=function(t){var e=this;if(t.classList.remove("show"),t.classList.contains("fade")){var n=d(t);V.one(t,"transitionend",(function(){return e._destroyElement(t)})),g(t,n)}else this._destroyElement(t)},n._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")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}}]),t}();V.on(document,"click.bs.alert.data-api",'[data-dismiss="alert"]',Y.handleDismiss(new Y));var z=w();if(z){var K=z.fn[q];z.fn[q]=Y.jQueryInterface,z.fn[q].Constructor=Y,z.fn[q].noConflict=function(){return z.fn[q]=K,Y.jQueryInterface}}var X=function(){function t(t){this._element=t,T(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(){k(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")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}}]),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 X(e)),n.toggle()}));var G=w();if(G){var $=G.fn.button;G.fn.button=X.jQueryInterface,G.fn.button.Constructor=X,G.fn.button.noConflict=function(){return G.fn.button=$,X.jQueryInterface}}function Z(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function J(t){return t.replace(/[A-Z]/g,(function(t){return"-"+t.toLowerCase()}))}var tt={setDataAttribute:function(t,e,n){t.setAttribute("data-"+J(e),n)},removeDataAttribute:function(t,e){t.removeAttribute("data-"+J(e))},getDataAttributes:function(t){if(!t)return{};var e=o({},t.dataset);return Object.keys(e).forEach((function(t){e[t]=Z(e[t])})),e},getDataAttribute:function(t,e){return Z(t.getAttribute("data-"+J(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))}},et={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,O.call(e,t))},findOne:function(t,e){return void 0===e&&(e=document.documentElement),C.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[]}},nt="carousel",it=".bs.carousel",ot={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"},st={TOUCH:"touch",PEN:"pen"},at=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=et.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 n=t.prototype;return n.next=function(){this._isSliding||this._slide("next")},n.nextWhenVisible=function(){!document.hidden&&_(this._element)&&this.next()},n.prev=function(){this._isSliding||this._slide("prev")},n.pause=function(t){t||(this._isPaused=!0),et.findOne(".carousel-item-next, .carousel-item-prev",this._element)&&(p(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},n.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))},n.to=function(t){var e=this;this._activeElement=et.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])}},n.dispose=function(){V.off(this._element,it),k(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},n._getConfig=function(t){return t=o(o({},ot),t),v(nt,t,rt),t},n._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()}},n._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()},n._addTouchEventListeners=function(){var t=this,e=function(e){t._pointerEvent&&st[e.pointerType.toUpperCase()]?t.touchStartX=e.clientX:t._pointerEvent||(t.touchStartX=e.touches[0].clientX)},n=function(e){t._pointerEvent&&st[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))};et.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)})))},n._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()}},n._getItemIndex=function(t){return this._items=t&&t.parentNode?et.find(".carousel-item",t.parentNode):[],this._items.indexOf(t)},n._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]},n._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(et.findOne(".active.carousel-item",this._element));return V.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:i,to:n})},n._setActiveIndicatorElement=function(t){if(this._indicatorsElement){for(var e=et.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")}},n._slide=function(t,e){var n,i,o,r=this,s=et.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),y(l),s.classList.add(n),l.classList.add(n);var f=parseInt(l.getAttribute("data-interval"),10);f?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=f):this._config.interval=this._config.defaultInterval||this._config.interval;var h=d(s);V.one(s,"transitionend",(function(){l.classList.remove(n,i),l.classList.add("active"),s.classList.remove("active",i,n),r._isSliding=!1,setTimeout((function(){V.trigger(r._element,"slid.bs.carousel",{relatedTarget:l,direction:o,from:a,to:c})}),0)})),g(s,h)}else s.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"),r=o(o({},ot),tt.getDataAttributes(e));"object"==typeof n&&(r=o(o({},r),n));var s="string"==typeof n?n:r.slide;if(i||(i=new t(e,r)),"number"==typeof n)i.to(n);else if("string"==typeof s){if(void 0===i[s])throw new TypeError('No method named "'+s+'"');i[s]()}else r.interval&&r.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=o(o({},tt.getDataAttributes(n)),tt.getDataAttributes(this)),r=this.getAttribute("data-slide-to");r&&(i.interval=!1),t.carouselInterface(n,i),r&&L(n,"bs.carousel").to(r),e.preventDefault()}},t.getInstance=function(t){return L(t,"bs.carousel")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return ot}}]),t}();V.on(document,"click.bs.carousel.data-api","[data-slide], [data-slide-to]",at.dataApiClickHandler),V.on(window,"load.bs.carousel.data-api",(function(){for(var t=et.find('[data-ride="carousel"]'),e=0,n=t.length;e<n;e++)at.carouselInterface(t[e],L(t[e],"bs.carousel"))}));var lt=w();if(lt){var ct=lt.fn[nt];lt.fn[nt]=at.jQueryInterface,lt.fn[nt].Constructor=at,lt.fn[nt].noConflict=function(){return lt.fn[nt]=ct,at.jQueryInterface}}var ut="collapse",ft={toggle:!0,parent:""},ht={toggle:"boolean",parent:"(string|element)"},dt=function(){function t(t,e){this._isTransitioning=!1,this._element=t,this._config=this._getConfig(e),this._triggerArray=et.find('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]');for(var n=et.find('[data-toggle="collapse"]'),i=0,o=n.length;i<o;i++){var r=n[i],s=f(r),a=et.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(),T(t,"bs.collapse",this)}var n=t.prototype;return n.toggle=function(){this._element.classList.contains("show")?this.hide():this.show()},n.show=function(){var e=this;if(!this._isTransitioning&&!this._element.classList.contains("show")){var n,i;this._parent&&0===(n=et.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=et.findOne(this._selector);if(n){var r=n.filter((function(t){return o!==t}));if((i=r[0]?L(r[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||T(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=d(this._element);V.one(this._element,"transitionend",(function(){e._element.classList.remove("collapsing"),e._element.classList.add("collapse","show"),e._element.style[s]="",e.setTransitioning(!1),V.trigger(e._element,"shown.bs.collapse")})),g(this._element,l),this._element.style[s]=this._element[a]+"px"}}},n.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",y(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=h(o);r&&!r.classList.contains("show")&&(o.classList.add("collapsed"),o.setAttribute("aria-expanded",!1))}this.setTransitioning(!0);this._element.style[e]="";var s=d(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")})),g(this._element,s)}},n.setTransitioning=function(t){this._isTransitioning=t},n.dispose=function(){k(this._element,"bs.collapse"),this._config=null,this._parent=null,this._element=null,this._triggerArray=null,this._isTransitioning=null},n._getConfig=function(t){return(t=o(o({},ft),t)).toggle=Boolean(t.toggle),v(ut,t,ht),t},n._getDimension=function(){return this._element.classList.contains("width")?"width":"height"},n._getParent=function(){var t=this,e=this._config.parent;m(e)?void 0===e.jquery&&void 0===e[0]||(e=e[0]):e=et.findOne(e);var n='[data-toggle="collapse"][data-parent="'+e+'"]';return et.find(n,e).forEach((function(e){var n=h(e);t._addAriaAndCollapsedClass(n,[e])})),e},n._addAriaAndCollapsedClass=function(t,e){if(t){var n=t.classList.contains("show");e.length&&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"),r=o(o(o({},ft),tt.getDataAttributes(e)),"object"==typeof n&&n?n:{});if(!i&&r.toggle&&"string"==typeof n&&/show|hide/.test(n)&&(r.toggle=!1),i||(i=new t(e,r)),"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")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{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=tt.getDataAttributes(this),n=f(this);et.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,dt.collapseInterface(t,n)}))}));var pt=w();if(pt){var mt=pt.fn[ut];pt.fn[ut]=dt.jQueryInterface,pt.fn[ut].Constructor=dt,pt.fn[ut].noConflict=function(){return pt.fn[ut]=mt,dt.jQueryInterface}}var gt="undefined"!=typeof window&&"undefined"!=typeof document&&"undefined"!=typeof navigator,vt=function(){for(var t=["Edge","Trident","Firefox"],e=0;e<t.length;e+=1)if(gt&&navigator.userAgent.indexOf(t[e])>=0)return 1;return 0}();var _t=gt&&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()}),vt))}};function bt(t){return t&&"[object Function]"==={}.toString.call(t)}function yt(t,e){if(1!==t.nodeType)return[];var n=t.ownerDocument.defaultView.getComputedStyle(t,null);return e?n[e]:n}function wt(t){return"HTML"===t.nodeName?t:t.parentNode||t.host}function Et(t){if(!t)return document.body;switch(t.nodeName){case"HTML":case"BODY":return t.ownerDocument.body;case"#document":return t.body}var e=yt(t),n=e.overflow,i=e.overflowX,o=e.overflowY;return/(auto|scroll|overlay)/.test(n+o+i)?t:Et(wt(t))}function Tt(t){return t&&t.referenceNode?t.referenceNode:t}var Lt=gt&&!(!window.MSInputMethodContext||!document.documentMode),kt=gt&&/MSIE 10/.test(navigator.userAgent);function Ot(t){return 11===t?Lt:10===t?kt:Lt||kt}function Ct(t){if(!t)return document.documentElement;for(var e=Ot(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"===yt(n,"position")?Ct(n):n:t?t.ownerDocument.documentElement:document.documentElement}function At(t){return null!==t.parentNode?At(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=r.commonAncestorContainer;if(t!==s&&e!==s||i.contains(o))return function(t){var e=t.nodeName;return"BODY"!==e&&("HTML"===e||Ct(t.firstElementChild)===t)}(s)?s:Ct(s);var a=At(t);return a.host?Dt(a.host,e):Dt(t,At(e).host)}function St(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 xt(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=St(e,"top"),o=St(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 Nt(t,e){var n="x"===e?"Left":"Top",i="Left"===n?"Right":"Bottom";return parseFloat(t["border"+n+"Width"],10)+parseFloat(t["border"+i+"Width"],10)}function It(t,e,n,i){return Math.max(e["offset"+t],e["scroll"+t],n["client"+t],n["offset"+t],n["scroll"+t],Ot(10)?parseInt(n["offset"+t])+parseInt(i["margin"+("Height"===t?"Top":"Left")])+parseInt(i["margin"+("Height"===t?"Bottom":"Right")]):0)}function jt(t){var e=t.body,n=t.documentElement,i=Ot(10)&&getComputedStyle(n);return{height:It("Height",e,n,i),width:It("Width",e,n,i)}}var Pt=function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")},Mt=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}}(),Ht=function(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t},Bt=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 Rt(t){return Bt({},t,{right:t.left+t.width,bottom:t.top+t.height})}function Ft(t){var e={};try{if(Ot(10)){e=t.getBoundingClientRect();var n=St(t,"top"),i=St(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?jt(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=yt(t);l-=Nt(u,"x"),c-=Nt(u,"y"),o.width-=l,o.height-=c}return Rt(o)}function Wt(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],i=Ot(10),o="HTML"===e.nodeName,r=Ft(t),s=Ft(e),a=Et(t),l=yt(e),c=parseFloat(l.borderTopWidth,10),u=parseFloat(l.borderLeftWidth,10);n&&o&&(s.top=Math.max(s.top,0),s.left=Math.max(s.left,0));var f=Rt({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,10),d=parseFloat(l.marginLeft,10);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=xt(f,e)),f}function Ut(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=t.ownerDocument.documentElement,i=Wt(t,n),o=Math.max(n.clientWidth,window.innerWidth||0),r=Math.max(n.clientHeight,window.innerHeight||0),s=e?0:St(n),a=e?0:St(n,"left"),l={top:s-i.top+i.marginTop,left:a-i.left+i.marginLeft,width:o,height:r};return Rt(l)}function Qt(t){var e=t.nodeName;if("BODY"===e||"HTML"===e)return!1;if("fixed"===yt(t,"position"))return!0;var n=wt(t);return!!n&&Qt(n)}function Vt(t){if(!t||!t.parentElement||Ot())return document.documentElement;for(var e=t.parentElement;e&&"none"===yt(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?Vt(t):Dt(t,Tt(e));if("viewport"===i)r=Ut(s,o);else{var a=void 0;"scrollParent"===i?"BODY"===(a=Et(wt(e))).nodeName&&(a=t.ownerDocument.documentElement):a="window"===i?t.ownerDocument.documentElement:i;var l=Wt(a,s,o);if("HTML"!==a.nodeName||Qt(s))r=l;else{var c=jt(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 Yt(t){return t.width*t.height}function zt(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 Bt({key:t},a[t],{area:Yt(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 Kt(t,e,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,o=i?Vt(e):Dt(e,Tt(n));return Wt(n,o,i)}function Xt(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 Gt(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 $t(t,e,n){n=n.split("-")[0];var i=Xt(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[Gt(a)],o}function Zt(t,e){return Array.prototype.find?t.find(e):t.filter(e)[0]}function Jt(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=Zt(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&&bt(n)&&(e.offsets.popper=Rt(e.offsets.popper),e.offsets.reference=Rt(e.offsets.reference),e=n(e,t))})),e}function te(){if(!this.state.isDestroyed){var t={instance:this,styles:{},arrowStyles:{},attributes:{},flipped:!1,offsets:{}};t.offsets.reference=Kt(this.state,this.popper,this.reference,this.options.positionFixed),t.placement=zt(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=$t(this.popper,t.offsets.reference,t.placement),t.offsets.popper.position=this.options.positionFixed?"fixed":"absolute",t=Jt(this.modifiers,t),this.state.isCreated?this.options.onUpdate(t):(this.state.isCreated=!0,this.options.onCreate(t))}}function ee(t,e){return t.some((function(t){var n=t.name;return t.enabled&&n===e}))}function ne(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 ie(){return this.state.isDestroyed=!0,ee(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[ne("transform")]=""),this.disableEventListeners(),this.options.removeOnDestroy&&this.popper.parentNode.removeChild(this.popper),this}function oe(t){var e=t.ownerDocument;return e?e.defaultView:window}function re(t,e,n,i){n.updateBound=i,oe(t).addEventListener("resize",n.updateBound,{passive:!0});var o=Et(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(Et(s.parentNode),n,i,o),o.push(s)}(o,"scroll",n.updateBound,n.scrollParents),n.scrollElement=o,n.eventsEnabled=!0,n}function se(){this.state.eventsEnabled||(this.state=re(this.reference,this.options,this.state,this.scheduleUpdate))}function ae(){var t,e;this.state.eventsEnabled&&(cancelAnimationFrame(this.scheduleUpdate),this.state=(t=this.reference,e=this.state,oe(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 le(t){return""!==t&&!isNaN(parseFloat(t))&&isFinite(t)}function ce(t,e){Object.keys(e).forEach((function(n){var i="";-1!==["width","height","top","right","bottom","left"].indexOf(n)&&le(e[n])&&(i="px"),t.style[n]=e[n]+i}))}var ue=gt&&/Firefox/i.test(navigator.userAgent);function fe(t,e,n){var i=Zt(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 he=["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"],de=he.slice(3);function pe(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=de.indexOf(t),i=de.slice(n+1).concat(de.slice(0,n));return e?i.reverse():i}var me="flip",ge="clockwise",ve="counterclockwise";function _e(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(Zt(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 Rt(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){le(n)&&(o[e]+=n*("-"===t[i-1]?-1:1))}))})),o}var be={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:Ht({},l,r[l]),end:Ht({},l,r[l]+r[c]-s[c])};t.offsets.popper=Bt({},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=le(+n)?[+n,0]:_e(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||Ct(t.instance.popper);t.instance.reference===n&&(n=Ct(n));var i=ne("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])),Ht({},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))),Ht({},n,i)}};return c.forEach((function(t){var e=-1!==["left","top"].indexOf(t)?"primary":"secondary";u=Bt({},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(!fe(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=Xt(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=Rt(t.offsets.popper);var m=a[f]+a[c]/2-p/2,g=yt(t.instance.popper),v=parseFloat(g["margin"+u],10),_=parseFloat(g["border"+u+"Width"],10),b=m-t.offsets.popper[f]-v-_;return b=Math.max(Math.min(s[c]-p,b),0),t.arrowElement=i,t.offsets.arrow=(Ht(n={},f,Math.round(b)),Ht(n,h,""),n),t},element:"[x-arrow]"},flip:{order:600,enabled:!0,fn:function(t,e){if(ee(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=Gt(i),r=t.placement.split("-")[1]||"",s=[];switch(e.behavior){case me:s=[i,o];break;case ge:s=pe(i);break;case ve:s=pe(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=Gt(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),m=f(c.top)<f(n.top),g=f(c.bottom)>f(n.bottom),v="left"===i&&d||"right"===i&&p||"top"===i&&m||"bottom"===i&&g,_=-1!==["top","bottom"].indexOf(i),b=!!e.flipVariations&&(_&&"start"===r&&d||_&&"end"===r&&p||!_&&"start"===r&&m||!_&&"end"===r&&g),y=!!e.flipVariationsByContent&&(_&&"start"===r&&p||_&&"end"===r&&d||!_&&"start"===r&&g||!_&&"end"===r&&m),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=Bt({},t.offsets.popper,$t(t.instance.popper,t.offsets.reference,t.placement)),t=Jt(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=Gt(e),t.offsets.popper=Rt(o),t}},hide:{order:800,enabled:!0,fn:function(t){if(!fe(t.instance.modifiers,"hide","preventOverflow"))return t;var e=t.offsets.reference,n=Zt(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=Zt(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=Ct(t.instance.popper),l=Ft(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||!ue),f="bottom"===n?"top":"bottom",h="right"===i?"left":"right",d=ne("transform"),p=void 0,m=void 0;if(m="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, "+m+"px, 0)",c[f]=0,c[h]=0,c.willChange="transform";else{var g="bottom"===f?-1:1,v="right"===h?-1:1;c[f]=m*g,c[h]=p*v,c.willChange=f+", "+h}var _={"x-placement":t.placement};return t.attributes=Bt({},_,t.attributes),t.styles=Bt({},c,t.styles),t.arrowStyles=Bt({},t.offsets.arrow,t.arrowStyles),t},gpuAcceleration:!0,x:"bottom",y:"right"},applyStyle:{order:900,enabled:!0,fn:function(t){return ce(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&&ce(t.arrowElement,t.arrowStyles),t},onLoad:function(t,e,n,i,o){var r=Kt(o,e,t,n.positionFixed),s=zt(n.placement,r,e,t,n.modifiers.flip.boundariesElement,n.modifiers.flip.padding);return e.setAttribute("x-placement",s),ce(e,{position:n.positionFixed?"fixed":"absolute"}),n},gpuAcceleration:void 0}}},ye=function(){function t(e,n){var i=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};Pt(this,t),this.scheduleUpdate=function(){return requestAnimationFrame(i.update)},this.update=_t(this.update.bind(this)),this.options=Bt({},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(Bt({},t.Defaults.modifiers,o.modifiers)).forEach((function(e){i.options.modifiers[e]=Bt({},t.Defaults.modifiers[e]||{},o.modifiers?o.modifiers[e]:{})})),this.modifiers=Object.keys(this.options.modifiers).map((function(t){return Bt({name:t},i.options.modifiers[t])})).sort((function(t,e){return t.order-e.order})),this.modifiers.forEach((function(t){t.enabled&&bt(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 Mt(t,[{key:"update",value:function(){return te.call(this)}},{key:"destroy",value:function(){return ie.call(this)}},{key:"enableEventListeners",value:function(){return se.call(this)}},{key:"disableEventListeners",value:function(){return ae.call(this)}}]),t}();ye.Utils=("undefined"!=typeof window?window:global).PopperUtils,ye.placements=he,ye.Defaults=be;var we="dropdown",Ee=new RegExp("ArrowUp|ArrowDown|Escape"),Te={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)"},ke=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 n=t.prototype;return n.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")){var e=this._element.classList.contains("show");t.clearMenus(),e||this.show()}},n.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(!V.trigger(this._element,"show.bs.dropdown",n).defaultPrevented){if(!this._inNavbar){if(void 0===ye)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var i=this._element;"parent"===this._config.reference?i=e:m(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 ye(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 V.on(t,"mouseover",null,(function(){}))}));this._element.focus(),this._element.setAttribute("aria-expanded",!0),tt.toggleClass(this._menu,"show"),tt.toggleClass(this._element,"show"),V.trigger(e,"shown.bs.dropdown",n)}}},n.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(),tt.toggleClass(this._menu,"show"),tt.toggleClass(this._element,"show"),V.trigger(e,"hidden.bs.dropdown",n))}},n.dispose=function(){k(this._element,"bs.dropdown"),V.off(this._element,".bs.dropdown"),this._element=null,this._menu=null,this._popper&&(this._popper.destroy(),this._popper=null)},n.update=function(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.scheduleUpdate()},n._addEventListeners=function(){var t=this;V.on(this._element,"click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},n._getConfig=function(t){return t=o(o(o({},this.constructor.Default),tt.getDataAttributes(this._element)),t),v(we,t,this.constructor.DefaultType),t},n._getMenuElement=function(){return et.next(this._element,".dropdown-menu")[0]},n._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},n._detectNavbar=function(){return Boolean(this._element.closest(".navbar"))},n._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=o(o({},e.offsets),t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},n._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}),o(o({},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=et.find('[data-toggle="dropdown"]'),i=0,o=n.length;i<o;i++){var r=t.getParentFromElement(n[i]),s=L(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(!V.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 V.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"),V.trigger(r,"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")):!Ee.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:et.prev(this,'[data-toggle="dropdown"]')[0]).focus(),void t.clearMenus();if(i&&"Space"!==e.key){var o=et.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",n).filter(_);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 L(t,"bs.dropdown")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return Te}},{key:"DefaultType",get:function(){return Le}}]),t}();V.on(document,"keydown.bs.dropdown.data-api",'[data-toggle="dropdown"]',ke.dataApiKeydownHandler),V.on(document,"keydown.bs.dropdown.data-api",".dropdown-menu",ke.dataApiKeydownHandler),V.on(document,"click.bs.dropdown.data-api",ke.clearMenus),V.on(document,"keyup.bs.dropdown.data-api",ke.clearMenus),V.on(document,"click.bs.dropdown.data-api",'[data-toggle="dropdown"]',(function(t){t.preventDefault(),t.stopPropagation(),ke.dropdownInterface(this,"toggle")})),V.on(document,"click.bs.dropdown.data-api",".dropdown form",(function(t){return t.stopPropagation()}));var Oe=w();if(Oe){var Ce=Oe.fn[we];Oe.fn[we]=ke.jQueryInterface,Oe.fn[we].Constructor=ke,Oe.fn[we].noConflict=function(){return Oe.fn[we]=Ce,ke.jQueryInterface}}var Ae={backdrop:!0,keyboard:!0,focus:!0,show:!0},De={backdrop:"(boolean|string)",keyboard:"boolean",focus:"boolean",show:"boolean"},Se=function(){function t(t,e){this._config=this._getConfig(e),this._element=t,this._dialog=et.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 n=t.prototype;return n.toggle=function(t){return this._isShown?this.hide():this.show(t)},n.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)})))}},n.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=d(this._element);V.one(this._element,"transitionend",(function(t){return e._hideModal(t)})),g(this._element,i)}else this._hideModal()}},n.dispose=function(){[window,this._element,this._dialog].forEach((function(t){return V.off(t,".bs.modal")})),V.off(document,"focusin.bs.modal"),k(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},n.handleUpdate=function(){this._adjustDialog()},n._getConfig=function(t){return t=o(o({},Ae),t),v("modal",t,De),t},n._showElement=function(t){var e=this,n=this._element.classList.contains("fade"),i=et.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&&y(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 r=d(this._dialog);V.one(this._dialog,"transitionend",o),g(this._dialog,r)}else o()},n._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()}))},n._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")},n._setResizeEvent=function(){var t=this;this._isShown?V.on(window,"resize.bs.modal",(function(){return t._adjustDialog()})):V.off(window,"resize.bs.modal")},n._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")}))},n._removeBackdrop=function(){this._backdrop.parentNode.removeChild(this._backdrop),this._backdrop=null},n._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&&y(this._backdrop),this._backdrop.classList.add("show"),!n)return void t();var i=d(this._backdrop);V.one(this._backdrop,"transitionend",t),g(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=d(this._backdrop);V.one(this._backdrop,"transitionend",o),g(this._backdrop,r)}else o()}else t()},n._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){if(V.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;this._element.classList.add("modal-static");var e=d(this._element);V.one(this._element,"transitionend",(function(){t._element.classList.remove("modal-static")})),g(this._element,e),this._element.focus()}else this.hide()},n._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")},n._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},n._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)<window.innerWidth,this._scrollbarWidth=this._getScrollbarWidth()},n._setScrollbar=function(){var t=this;if(this._isBodyOverflowing){et.find(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top").forEach((function(e){var n=e.style.paddingRight,i=window.getComputedStyle(e)["padding-right"];tt.setDataAttribute(e,"padding-right",n),e.style.paddingRight=parseFloat(i)+t._scrollbarWidth+"px"})),et.find(".sticky-top").forEach((function(e){var n=e.style.marginRight,i=window.getComputedStyle(e)["margin-right"];tt.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"];tt.setDataAttribute(document.body,"padding-right",e),document.body.style.paddingRight=parseFloat(n)+this._scrollbarWidth+"px"}document.body.classList.add("modal-open")},n._resetScrollbar=function(){et.find(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top").forEach((function(t){var e=tt.getDataAttribute(t,"padding-right");void 0!==e&&(tt.removeDataAttribute(t,"padding-right"),t.style.paddingRight=e)})),et.find(".sticky-top").forEach((function(t){var e=tt.getDataAttribute(t,"margin-right");void 0!==e&&(tt.removeDataAttribute(t,"margin-right"),t.style.marginRight=e)}));var t=tt.getDataAttribute(document.body,"padding-right");void 0===t?document.body.style.paddingRight="":(tt.removeDataAttribute(document.body,"padding-right"),document.body.style.paddingRight=t)},n._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"),r=o(o(o({},Ae),tt.getDataAttributes(this)),"object"==typeof e&&e?e:{});if(i||(i=new t(this,r)),"string"==typeof e){if(void 0===i[e])throw new TypeError('No method named "'+e+'"');i[e](n)}else r.show&&i.show(n)}))},t.getInstance=function(t){return L(t,"bs.modal")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return Ae}}]),t}();V.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(),V.one(n,"show.bs.modal",(function(t){t.defaultPrevented||V.one(n,"hidden.bs.modal",(function(){_(e)&&e.focus()}))}));var i=L(n,"bs.modal");if(!i){var r=o(o({},tt.getDataAttributes(n)),tt.getDataAttributes(this));i=new Se(n,r)}i.show(this)}));var xe=w();if(xe){var Ne=xe.fn.modal;xe.fn.modal=Se.jQueryInterface,xe.fn.modal.Constructor=Se,xe.fn.modal.noConflict=function(){return xe.fn.modal=Ne,Se.jQueryInterface}}var Ie=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],je=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,Pe=/^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 He(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===Ie.indexOf(n)||Boolean(t.nodeValue.match(je)||t.nodeValue.match(Pe));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 Be="tooltip",Re=new RegExp("(^|\\s)bs-tooltip\\S+","g"),Fe=["sanitize","whiteList","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)",whiteList:"object",popperConfig:"(null|object)"},Ue={AUTO:"auto",TOP:"top",RIGHT:"right",BOTTOM:"bottom",LEFT:"left"},Qe={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,whiteList:Me,popperConfig:null},Ve={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===ye)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 n=t.prototype;return n.enable=function(){this._isEnabled=!0},n.disable=function(){this._isEnabled=!1},n.toggleEnabled=function(){this._isEnabled=!this._isEnabled},n.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=L(t.target,e);n||(n=new this.constructor(t.target,this._getDelegateConfig()),T(t.target,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)}},n.dispose=function(){clearTimeout(this._timeout),k(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},n.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),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=c(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,a=this._getAttachment(s);this._addAttachmentClass(a);var l,u=this._getContainer();if(T(o,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||u.appendChild(o),V.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new ye(this.element,o,this._getPopperConfig(a)),o.classList.add("show"),"ontouchstart"in document.documentElement)(l=[]).concat.apply(l,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 h=d(this.tip);V.one(this.tip,"transitionend",f),g(this.tip,h)}else f()}},n.hide=function(){var t=this,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",b)}));if(this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,this.tip.classList.contains("fade")){var o=d(e);V.one(e,"transitionend",n),g(e,o)}else n();this._hoverState=""}},n.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},n.isWithContent=function(){return Boolean(this.getTitle())},n.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},n.setContent=function(){var t=this.getTipElement();this.setElementContent(et.findOne(".tooltip-inner",t),this.getTitle()),t.classList.remove("fade","show")},n.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=He(e,this.config.whiteList,this.config.sanitizeFn)),t.innerHTML=e):t.textContent=e)},n.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},n._getPopperConfig=function(t){var e=this;return o(o({},{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)},n._addAttachmentClass=function(t){this.getTipElement().classList.add("bs-tooltip-"+t)},n._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=o(o({},e.offsets),t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},n._getContainer=function(){return!1===this.config.container?document.body:m(this.config.container)?this.config.container:et.findOne(this.config.container)},n._getAttachment=function(t){return Ue[t.toUpperCase()]},n._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=o(o({},this.config),{},{trigger:"manual",selector:""}):this._fixTitle()},n._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",""))},n._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||L(t.target,n))||(e=new this.constructor(t.target,this._getDelegateConfig()),T(t.target,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())},n._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||L(t.target,n))||(e=new this.constructor(t.target,this._getDelegateConfig()),T(t.target,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())},n._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},n._getConfig=function(t){var e=tt.getDataAttributes(this.element);return Object.keys(e).forEach((function(t){-1!==Fe.indexOf(t)&&delete e[t]})),t&&"object"==typeof t.container&&t.container.jquery&&(t.container=t.container[0]),"number"==typeof(t=o(o(o({},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(Be,t,this.constructor.DefaultType),t.sanitize&&(t.template=He(t.template,t.whiteList,t.sanitizeFn)),t},n._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},n._cleanTipClass=function(){var t=this.getTipElement(),e=t.getAttribute("class").match(Re);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},n._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.popper,this._cleanTipClass(),this._addAttachmentClass(this._getAttachment(t.placement))},n._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")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return Qe}},{key:"NAME",get:function(){return Be}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return Ve}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return We}}]),t}(),Ye=w();if(Ye){var ze=Ye.fn[Be];Ye.fn[Be]=qe.jQueryInterface,Ye.fn[Be].Constructor=qe,Ye.fn[Be].noConflict=function(){return Ye.fn[Be]=ze,qe.jQueryInterface}}var Ke="popover",Xe=new RegExp("(^|\\s)bs-popover\\S+","g"),Ge=o(o({},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>'}),$e=o(o({},qe.DefaultType),{},{content:"(string|element|function)"}),Ze={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"},Je=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(et.findOne(".popover-header",t),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(et.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(Xe);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=L(this,"bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),T(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 L(t,"bs.popover")},e(o,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return Ge}},{key:"NAME",get:function(){return Ke}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return Ze}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return $e}}]),o}(qe),tn=w();if(tn){var en=tn.fn[Ke];tn.fn[Ke]=Je.jQueryInterface,tn.fn[Ke].Constructor=Je,tn.fn[Ke].noConflict=function(){return tn.fn[Ke]=en,Je.jQueryInterface}}var nn="scrollspy",on={offset:10,method:"auto",target:""},rn={offset:"number",method:"string",target:"(string|element)"},sn=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(),T(t,"bs.scrollspy",this)}var n=t.prototype;return n.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(),et.find(this._selector).map((function(t){var e,o=f(t);if(o&&(e=et.findOne(o)),e){var r=e.getBoundingClientRect();if(r.width||r.height)return[tt[n](e).top+i,o]}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])}))},n.dispose=function(){k(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},n._getConfig=function(t){if("string"!=typeof(t=o(o({},on),"object"==typeof t&&t?t:{})).target&&m(t.target)){var e=t.target.id;e||(e=c(nn),t.target.id=e),t.target="#"+e}return v(nn,t,rn),t},n._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},n._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},n._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},n._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])}}},n._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=et.findOne(e.join(","));n.classList.contains("dropdown-item")?(et.findOne(".dropdown-toggle",n.closest(".dropdown")).classList.add("active"),n.classList.add("active")):(n.classList.add("active"),et.parents(n,".nav, .list-group").forEach((function(t){et.prev(t,".nav-link, .list-group-item").forEach((function(t){return t.classList.add("active")})),et.prev(t,".nav-item").forEach((function(t){et.children(t,".nav-link").forEach((function(t){return t.classList.add("active")}))}))}))),V.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})},n._clear=function(){et.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")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return on}}]),t}();V.on(window,"load.bs.scrollspy.data-api",(function(){et.find('[data-spy="scroll"]').forEach((function(t){return new sn(t,tt.getDataAttributes(t))}))}));var an=w();if(an){var ln=an.fn[nn];an.fn[nn]=sn.jQueryInterface,an.fn[nn].Constructor=sn,an.fn[nn].noConflict=function(){return an.fn[nn]=ln,sn.jQueryInterface}}var cn=function(){function t(t){this._element=t,T(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=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=et.find(o,i))[e.length-1]}var r=null;if(e&&(r=V.trigger(e,"hide.bs.tab",{relatedTarget:this._element})),!(V.trigger(this._element,"show.bs.tab",{relatedTarget:e}).defaultPrevented||null!==r&&r.defaultPrevented)){this._activate(this._element,i);var s=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,s):s()}}},n.dispose=function(){k(this._element,"bs.tab"),this._element=null},n._activate=function(t,e,n){var i=this,o=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?et.children(e,".active"):et.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=d(o);o.classList.remove("show"),V.one(o,"transitionend",s),g(o,a)}else s()},n._transitionComplete=function(t,e,n){if(e){e.classList.remove("active");var i=et.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),y(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&t.parentNode.classList.contains("dropdown-menu"))&&(t.closest(".dropdown")&&et.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")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}}]),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 cn(this)).show()}));var un=w();if(un){var fn=un.fn.tab;un.fn.tab=cn.jQueryInterface,un.fn.tab.Constructor=cn,un.fn.tab.noConflict=function(){return un.fn.tab=fn,cn.jQueryInterface}}var hn={animation:"boolean",autohide:"boolean",delay:"number"},dn={animation:!0,autohide:!0,delay:500},pn=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners(),T(t,"bs.toast",this)}var n=t.prototype;return n.show=function(){var t=this;if(!V.trigger(this._element,"show.bs.toast").defaultPrevented){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"),y(this._element),this._element.classList.add("showing"),this._config.animation){var n=d(this._element);V.one(this._element,"transitionend",e),g(this._element,n)}else e()}},n.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=d(this._element);V.one(this._element,"transitionend",e),g(this._element,n)}else e()}},n.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains("show")&&this._element.classList.remove("show"),V.off(this._element,"click.dismiss.bs.toast"),k(this._element,"bs.toast"),this._element=null,this._config=null},n._getConfig=function(t){return t=o(o(o({},dn),tt.getDataAttributes(this._element)),"object"==typeof t&&t?t:{}),v("toast",t,this.constructor.DefaultType),t},n._setListeners=function(){var t=this;V.on(this._element,"click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},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")},e(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"DefaultType",get:function(){return hn}},{key:"Default",get:function(){return dn}}]),t}(),mn=w();if(mn){var gn=mn.fn.toast;mn.fn.toast=pn.jQueryInterface,mn.fn.toast.Constructor=pn,mn.fn.toast.noConflict=function(){return mn.fn.toast=gn,pn.jQueryInterface}}return{Alert:Y,Button:X,Carousel:at,Collapse:dt,Dropdown:ke,Modal:Se,Popover:Je,ScrollSpy:sn,Tab:cn,Toast:pn,Tooltip:qe}}));
//# 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 283635693b..042487b576 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/dom/selector-engine.js","../../js/src/button.js","../../js/src/dom/manipulator.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","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","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","SelectorEngine","_ref","documentElement","concat","findFn","children","_ref2","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","_objectSpread2","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","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","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","_extends","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","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","modalTransitionDuration","isModalOverflowing","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","_this10","actualPadding","calculatedPadding","actualMargin","calculatedMargin","margin","scrollDiv","scrollbarWidth","_this11","uriAttrs","SAFE_URL_PATTERN","DATA_URL_PATTERN","DefaultWhitelist","*","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","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","elements","_loop","elName","attributeList","whitelistedAttributes","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","popperInstance","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"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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)\n .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-alpha1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\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-alpha1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 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 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)\n .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)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .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 informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .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-alpha1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\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\n .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\n .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-alpha1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } 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 = 'button'\nconst VERSION = '5.0.0-alpha1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"buttons\"]'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_BLUR_DATA_API = `blur${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 let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = this._element.closest(SELECTOR_DATA_TOGGLE)\n\n if (rootElement) {\n const input = SelectorEngine.findOne(SELECTOR_INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains(CLASS_NAME_DISABLED) ||\n rootElement.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(CLASS_NAME_ACTIVE)\n }\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_CARROT, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_BUTTON)\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUS_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = event.target.closest(SELECTOR_BUTTON)\n\n if (button) {\n button.classList.add(CLASS_NAME_FOCUS)\n }\n})\n\nEventHandler.on(document, EVENT_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = event.target.closest(SELECTOR_BUTTON)\n\n if (button) {\n button.classList.remove(CLASS_NAME_FOCUS)\n }\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-alpha1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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\n .on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler\n .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\n .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\n .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-alpha1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 const hasWidth = this._element.classList.contains(WIDTH)\n return hasWidth ? 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) {\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\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 }\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.0\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'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\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, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\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, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\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], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\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-alpha1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\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)\n .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\n .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-alpha1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\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-alpha1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 DefaultWhitelist = {\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, whiteList, 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 whitelistKeys = Object.keys(whiteList)\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 (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 DefaultWhitelist,\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-alpha1'\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', 'whiteList', '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 whiteList: '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 whiteList: DefaultWhitelist,\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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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 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.whiteList, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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)\n .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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, 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 const popperInstance = popperData.instance\n this.tip = popperInstance.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-alpha1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\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-alpha1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${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\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\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\n .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\n .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-alpha1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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-alpha1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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: 500\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 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 clearTimeout(this._timeout)\n this._timeout = null\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n () => this.hide()\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\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-alpha1): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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/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","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","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","_objectSpread2","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","_extends","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","modalTransitionDuration","isModalOverflowing","scrollHeight","paddingLeft","paddingRight","_getScrollbarWidth","_this10","actualPadding","calculatedPadding","actualMargin","calculatedMargin","margin","scrollDiv","scrollbarWidth","_this11","uriAttrs","SAFE_URL_PATTERN","DATA_URL_PATTERN","DefaultWhitelist","*","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","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","elements","_loop","elName","attributeList","whitelistedAttributes","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","popperInstance","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"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha1): 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)\n .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-alpha1): 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.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\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-alpha1): 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-alpha1): 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 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 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)\n .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)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .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 informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .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-alpha1): 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-alpha1'\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 let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\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\n .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\n .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-alpha1): 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-alpha1'\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-alpha1): 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-alpha1): 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-alpha1): 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-alpha1'\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\n .on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler\n .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\n .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\n .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-alpha1): 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-alpha1'\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 const hasWidth = this._element.classList.contains(WIDTH)\n return hasWidth ? 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) {\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\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 }\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.0\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'], 10) + parseFloat(styles['border' + sideB + 'Width'], 10);\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, 10);\n var borderLeftWidth = parseFloat(styles.borderLeftWidth, 10);\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, 10);\n var marginLeft = parseFloat(styles.marginLeft, 10);\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], 10);\n var popperBorderSide = parseFloat(css['border' + sideCapitalized + 'Width'], 10);\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-alpha1): 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-alpha1'\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\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)\n .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\n .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-alpha1): 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-alpha1'\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 this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\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-alpha1): 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 DefaultWhitelist = {\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, whiteList, 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 whitelistKeys = Object.keys(whiteList)\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 (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha1): 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 DefaultWhitelist,\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-alpha1'\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', 'whiteList', '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 whiteList: '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 whiteList: DefaultWhitelist,\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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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 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.whiteList, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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)\n .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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, 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 const popperInstance = popperData.instance\n this.tip = popperInstance.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-alpha1): 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-alpha1'\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 _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\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-alpha1): 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-alpha1'\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},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${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\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\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\n .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\n .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-alpha1): 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-alpha1'\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-alpha1): 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-alpha1'\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: 500\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 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 clearTimeout(this._timeout)\n this._timeout = null\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n () => this.hide()\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\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-alpha1): 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 b878149a61..d90b2ef36e 100644
--- a/dist/js/bootstrap.esm.js
+++ b/dist/js/bootstrap.esm.js
@@ -1,7 +1,7 @@
/*!
* Bootstrap v5.0.0-alpha1 (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/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
import Popper from 'popper.js';
@@ -79,7 +79,7 @@ function _inheritsLoose(subClass, superClass) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-alpha1): util/index.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
var MAX_UID = 1000000;
@@ -254,7 +254,7 @@ var getjQuery = function getjQuery() {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-alpha1): dom/data.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -393,7 +393,7 @@ if (!supportScopeQuery) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-alpha1): dom/event-handler.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/**
@@ -830,90 +830,6 @@ if ($$1) {
}
/**
- * --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha1): dom/selector-engine.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
-/**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
- */
-
-var NODE_TEXT = 3;
-var SelectorEngine = {
- matches: function matches(element, selector) {
- return element.matches(selector);
- },
- find: function find$1(selector, element) {
- var _ref;
-
- if (element === void 0) {
- element = document.documentElement;
- }
-
- return (_ref = []).concat.apply(_ref, find.call(element, selector));
- },
- findOne: function findOne$1(selector, element) {
- if (element === void 0) {
- element = document.documentElement;
- }
-
- return findOne.call(element, selector);
- },
- children: function children(element, selector) {
- var _ref2;
-
- var children = (_ref2 = []).concat.apply(_ref2, element.children);
-
- return children.filter(function (child) {
- return child.matches(selector);
- });
- },
- parents: function parents(element, selector) {
- var parents = [];
- var ancestor = element.parentNode;
-
- while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {
- if (this.matches(ancestor, selector)) {
- parents.push(ancestor);
- }
-
- ancestor = ancestor.parentNode;
- }
-
- return parents;
- },
- prev: function prev(element, selector) {
- var previous = element.previousElementSibling;
-
- while (previous) {
- if (previous.matches(selector)) {
- return [previous];
- }
-
- previous = previous.previousElementSibling;
- }
-
- return [];
- },
- next: function next(element, selector) {
- var next = element.nextElementSibling;
-
- while (next) {
- if (this.matches(next, selector)) {
- return [next];
- }
-
- next = next.nextElementSibling;
- }
-
- return [];
- }
-};
-
-/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
@@ -925,16 +841,8 @@ var DATA_KEY$1 = 'bs.button';
var EVENT_KEY$1 = "." + DATA_KEY$1;
var DATA_API_KEY$1 = '.data-api';
var CLASS_NAME_ACTIVE = 'active';
-var CLASS_NAME_DISABLED = 'disabled';
-var CLASS_NAME_FOCUS = 'focus';
-var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]';
-var SELECTOR_DATA_TOGGLE = '[data-toggle="buttons"]';
-var SELECTOR_INPUT = 'input:not([type="hidden"])';
-var SELECTOR_ACTIVE = '.active';
-var SELECTOR_BUTTON = '.btn';
+var SELECTOR_DATA_TOGGLE = '[data-toggle="button"]';
var EVENT_CLICK_DATA_API$1 = "click" + EVENT_KEY$1 + DATA_API_KEY$1;
-var EVENT_FOCUS_DATA_API = "focus" + EVENT_KEY$1 + DATA_API_KEY$1;
-var EVENT_BLUR_DATA_API = "blur" + EVENT_KEY$1 + DATA_API_KEY$1;
/**
* ------------------------------------------------------------------------
* Class Definition
@@ -952,46 +860,8 @@ var Button = /*#__PURE__*/function () {
// Public
_proto.toggle = function toggle() {
- var triggerChangeEvent = true;
- var addAriaPressed = true;
-
- var rootElement = this._element.closest(SELECTOR_DATA_TOGGLE);
-
- if (rootElement) {
- var input = SelectorEngine.findOne(SELECTOR_INPUT, this._element);
-
- if (input && input.type === 'radio') {
- if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {
- triggerChangeEvent = false;
- } else {
- var activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE, rootElement);
-
- if (activeElement) {
- activeElement.classList.remove(CLASS_NAME_ACTIVE);
- }
- }
-
- if (triggerChangeEvent) {
- if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains(CLASS_NAME_DISABLED) || rootElement.classList.contains(CLASS_NAME_DISABLED)) {
- return;
- }
-
- input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE);
- EventHandler.trigger(input, 'change');
- }
-
- input.focus();
- addAriaPressed = false;
- }
- }
-
- if (addAriaPressed) {
- this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE));
- }
-
- if (triggerChangeEvent) {
- this._element.classList.toggle(CLASS_NAME_ACTIVE);
- }
+ // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method
+ this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE));
};
_proto.dispose = function dispose() {
@@ -1034,9 +904,9 @@ var Button = /*#__PURE__*/function () {
*/
-EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
+EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE, function (event) {
event.preventDefault();
- var button = event.target.closest(SELECTOR_BUTTON);
+ var button = event.target.closest(SELECTOR_DATA_TOGGLE);
var data = Data.getData(button, DATA_KEY$1);
if (!data) {
@@ -1045,20 +915,6 @@ EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE_CARROT, f
data.toggle();
});
-EventHandler.on(document, EVENT_FOCUS_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
- var button = event.target.closest(SELECTOR_BUTTON);
-
- if (button) {
- button.classList.add(CLASS_NAME_FOCUS);
- }
-});
-EventHandler.on(document, EVENT_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
- var button = event.target.closest(SELECTOR_BUTTON);
-
- if (button) {
- button.classList.remove(CLASS_NAME_FOCUS);
- }
-});
var $$2 = getjQuery();
/**
* ------------------------------------------------------------------------
@@ -1083,7 +939,7 @@ if ($$2) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-alpha1): dom/manipulator.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
function normalizeData(val) {
@@ -1161,6 +1017,90 @@ var Manipulator = {
};
/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v5.0.0-alpha1): 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) {
+ var _ref;
+
+ if (element === void 0) {
+ element = document.documentElement;
+ }
+
+ return (_ref = []).concat.apply(_ref, find.call(element, selector));
+ },
+ findOne: function findOne$1(selector, element) {
+ if (element === void 0) {
+ element = document.documentElement;
+ }
+
+ return findOne.call(element, selector);
+ },
+ children: function children(element, selector) {
+ var _ref2;
+
+ var children = (_ref2 = []).concat.apply(_ref2, element.children);
+
+ return children.filter(function (child) {
+ return child.matches(selector);
+ });
+ },
+ parents: function parents(element, selector) {
+ var parents = [];
+ var ancestor = element.parentNode;
+
+ while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {
+ if (this.matches(ancestor, selector)) {
+ parents.push(ancestor);
+ }
+
+ ancestor = ancestor.parentNode;
+ }
+
+ return parents;
+ },
+ prev: function prev(element, selector) {
+ var previous = element.previousElementSibling;
+
+ while (previous) {
+ if (previous.matches(selector)) {
+ return [previous];
+ }
+
+ previous = previous.previousElementSibling;
+ }
+
+ return [];
+ },
+ next: function next(element, selector) {
+ var next = element.nextElementSibling;
+
+ while (next) {
+ if (this.matches(next, selector)) {
+ return [next];
+ }
+
+ next = next.nextElementSibling;
+ }
+
+ return [];
+ }
+};
+
+/**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
@@ -1217,7 +1157,7 @@ var CLASS_NAME_LEFT = 'carousel-item-left';
var CLASS_NAME_NEXT = 'carousel-item-next';
var CLASS_NAME_PREV = 'carousel-item-prev';
var CLASS_NAME_POINTER_EVENT = 'pointer-event';
-var SELECTOR_ACTIVE$1 = '.active';
+var SELECTOR_ACTIVE = '.active';
var SELECTOR_ACTIVE_ITEM = '.active.carousel-item';
var SELECTOR_ITEM = '.carousel-item';
var SELECTOR_ITEM_IMG = '.carousel-item img';
@@ -1532,7 +1472,7 @@ var Carousel = /*#__PURE__*/function () {
_proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
if (this._indicatorsElement) {
- var indicators = SelectorEngine.find(SELECTOR_ACTIVE$1, this._indicatorsElement);
+ var indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement);
for (var i = 0; i < indicators.length; i++) {
indicators[i].classList.remove(CLASS_NAME_ACTIVE$1);
@@ -2187,7 +2127,7 @@ var EVENT_CLICK = "click" + EVENT_KEY$4;
var EVENT_CLICK_DATA_API$4 = "click" + EVENT_KEY$4 + DATA_API_KEY$4;
var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY$4 + DATA_API_KEY$4;
var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY$4 + DATA_API_KEY$4;
-var CLASS_NAME_DISABLED$1 = 'disabled';
+var CLASS_NAME_DISABLED = 'disabled';
var CLASS_NAME_SHOW$1 = 'show';
var CLASS_NAME_DROPUP = 'dropup';
var CLASS_NAME_DROPRIGHT = 'dropright';
@@ -2246,7 +2186,7 @@ var Dropdown = /*#__PURE__*/function () {
// Public
_proto.toggle = function toggle() {
- if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED$1)) {
+ if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {
return;
}
@@ -2262,7 +2202,7 @@ var Dropdown = /*#__PURE__*/function () {
};
_proto.show = function show() {
- if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED$1) || this._menu.classList.contains(CLASS_NAME_SHOW$1)) {
+ if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW$1)) {
return;
}
@@ -2326,7 +2266,7 @@ var Dropdown = /*#__PURE__*/function () {
};
_proto.hide = function hide() {
- if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED$1) || !this._menu.classList.contains(CLASS_NAME_SHOW$1)) {
+ if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW$1)) {
return;
}
@@ -2561,7 +2501,7 @@ var Dropdown = /*#__PURE__*/function () {
event.preventDefault();
event.stopPropagation();
- if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED$1)) {
+ if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {
return;
}
@@ -3284,7 +3224,7 @@ if ($$6) {
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-alpha1): util/sanitizer.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];
@@ -4667,12 +4607,12 @@ var EVENT_SHOWN$3 = "shown" + EVENT_KEY$9;
var EVENT_CLICK_DATA_API$6 = "click" + EVENT_KEY$9 + DATA_API_KEY$7;
var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
var CLASS_NAME_ACTIVE$3 = 'active';
-var CLASS_NAME_DISABLED$2 = 'disabled';
+var CLASS_NAME_DISABLED$1 = 'disabled';
var CLASS_NAME_FADE$3 = 'fade';
var CLASS_NAME_SHOW$5 = 'show';
var SELECTOR_DROPDOWN$1 = '.dropdown';
var SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';
-var SELECTOR_ACTIVE$2 = '.active';
+var SELECTOR_ACTIVE$1 = '.active';
var SELECTOR_ACTIVE_UL = ':scope > li > .active';
var SELECTOR_DATA_TOGGLE$4 = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]';
var SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
@@ -4696,7 +4636,7 @@ var Tab = /*#__PURE__*/function () {
_proto.show = function show() {
var _this = 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$2)) {
+ 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)) {
return;
}
@@ -4706,7 +4646,7 @@ var Tab = /*#__PURE__*/function () {
var listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP$1);
if (listElement) {
- var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE$2;
+ var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE$1;
previous = SelectorEngine.find(itemSelector, listElement);
previous = previous[previous.length - 1];
}
@@ -4754,7 +4694,7 @@ var Tab = /*#__PURE__*/function () {
_proto._activate = function _activate(element, container, callback) {
var _this2 = this;
- var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine.find(SELECTOR_ACTIVE_UL, container) : SelectorEngine.children(container, SELECTOR_ACTIVE$2);
+ var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine.find(SELECTOR_ACTIVE_UL, container) : SelectorEngine.children(container, SELECTOR_ACTIVE$1);
var active = activeElements[0];
var isTransitioning = callback && active && active.classList.contains(CLASS_NAME_FADE$3);
diff --git a/dist/js/bootstrap.esm.js.map b/dist/js/bootstrap.esm.js.map
index bb43e420f3..98b494d396 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/dom/selector-engine.js","../../js/src/button.js","../../js/src/dom/manipulator.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-alpha1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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)\n .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-alpha1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\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-alpha1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 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 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)\n .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)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .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 informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .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-alpha1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\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\n .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\n .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-alpha1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } 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 = 'button'\nconst VERSION = '5.0.0-alpha1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"buttons\"]'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_BLUR_DATA_API = `blur${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 let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = this._element.closest(SELECTOR_DATA_TOGGLE)\n\n if (rootElement) {\n const input = SelectorEngine.findOne(SELECTOR_INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains(CLASS_NAME_DISABLED) ||\n rootElement.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(CLASS_NAME_ACTIVE)\n }\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_CARROT, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_BUTTON)\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUS_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = event.target.closest(SELECTOR_BUTTON)\n\n if (button) {\n button.classList.add(CLASS_NAME_FOCUS)\n }\n})\n\nEventHandler.on(document, EVENT_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = event.target.closest(SELECTOR_BUTTON)\n\n if (button) {\n button.classList.remove(CLASS_NAME_FOCUS)\n }\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-alpha1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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\n .on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler\n .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\n .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\n .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-alpha1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 const hasWidth = this._element.classList.contains(WIDTH)\n return hasWidth ? 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) {\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\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 }\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-alpha1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\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)\n .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\n .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-alpha1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\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-alpha1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 DefaultWhitelist = {\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, whiteList, 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 whitelistKeys = Object.keys(whiteList)\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 (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 DefaultWhitelist,\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-alpha1'\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', 'whiteList', '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 whiteList: '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 whiteList: DefaultWhitelist,\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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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 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.whiteList, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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)\n .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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, 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 const popperInstance = popperData.instance\n this.tip = popperInstance.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-alpha1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\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-alpha1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${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\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\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\n .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\n .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-alpha1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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-alpha1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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: 500\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 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 clearTimeout(this._timeout)\n this._timeout = null\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n () => this.hide()\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\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","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","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","NODE_TEXT","SelectorEngine","concat","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","CLASS_NAME_ACTIVE","CLASS_NAME_DISABLED","CLASS_NAME_FOCUS","SELECTOR_DATA_TOGGLE_CARROT","SELECTOR_DATA_TOGGLE","SELECTOR_INPUT","SELECTOR_ACTIVE","SELECTOR_BUTTON","EVENT_FOCUS_DATA_API","EVENT_BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","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_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","tagName","_getItemByDirection","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","hasWidth","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_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","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","currentTarget","backdropTransitionDuration","callbackRemove","modalTransitionDuration","isModalOverflowing","scrollHeight","clientHeight","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","DefaultWhitelist","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","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","elements","el","elName","attributeList","whitelistedAttributes","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","popperInstance","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"],"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/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-alpha1): 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)\n .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-alpha1): 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.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\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-alpha1): 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-alpha1): 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 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 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)\n .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)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .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 informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .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-alpha1): 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-alpha1'\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 let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\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\n .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\n .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-alpha1): 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-alpha1'\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-alpha1): 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-alpha1): 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-alpha1): 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-alpha1'\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\n .on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler\n .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\n .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\n .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-alpha1): 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-alpha1'\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 const hasWidth = this._element.classList.contains(WIDTH)\n return hasWidth ? 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) {\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\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 }\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-alpha1): 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-alpha1'\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\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)\n .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\n .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-alpha1): 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-alpha1'\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 this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\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-alpha1): 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 DefaultWhitelist = {\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, whiteList, 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 whitelistKeys = Object.keys(whiteList)\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 (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha1): 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 DefaultWhitelist,\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-alpha1'\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', 'whiteList', '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 whiteList: '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 whiteList: DefaultWhitelist,\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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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 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.whiteList, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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)\n .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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, 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 const popperInstance = popperData.instance\n this.tip = popperInstance.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-alpha1): 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-alpha1'\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 _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\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-alpha1): 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-alpha1'\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},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${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\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\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\n .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\n .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-alpha1): 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-alpha1'\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-alpha1): 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-alpha1'\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: 500\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 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 clearTimeout(this._timeout)\n this._timeout = null\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n () => this.hide()\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\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","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","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","toggleClass","className","add","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","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","hasWidth","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","currentTarget","backdropTransitionDuration","callbackRemove","modalTransitionDuration","isModalOverflowing","scrollHeight","clientHeight","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","DefaultWhitelist","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","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","elements","el","elName","attributeList","whitelistedAttributes","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","popperInstance","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"],"mappings":"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"} \ No newline at end of file
diff --git a/dist/js/bootstrap.esm.min.js b/dist/js/bootstrap.esm.min.js
index 28ac38dc77..2a660b1190 100644
--- a/dist/js/bootstrap.esm.min.js
+++ b/dist/js/bootstrap.esm.min.js
@@ -1,7 +1,7 @@
/*!
* Bootstrap v5.0.0-alpha1 (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/master/LICENSE)
+ * 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 _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach((function(t){_defineProperty(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}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.key&&(n.key={key:i,id:t},t++),e[n.key.id]=r},get:function(t,n){if(!t||void 0===t.key)return null;var i=t.key;return i.key===n?e[i.id]:null},delete:function(t,n){if(void 0!==t.key){var i=t.key;i.key===n&&(delete e[i.id],delete t.key)}}}}(),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 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 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],E=o[2],l=getEvent(e),_=l[E]||(l[E]={}),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(E,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],E=s!==t,l=getEvent(e),_="."===t.charAt(0);if(void 0===a){_&&Object.keys(l).forEach((function(n){removeNamespacedHandlers(e,l,n,t.slice(1))}));var c=l[s]||{};Object.keys(c).forEach((function(n){var i=n.replace(stripUidRegex,"");if(!E||t.indexOf(i)>-1){var r=c[n];removeHandler(e,l,s,r.originalHandler,r.delegationSelector)}}))}else{if(!l||!l[s])return;removeHandler(e,l,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,E=!0,l=!1,_=null;return o&&$&&(i=$.Event(t,n),$(e).trigger(i),s=!i.isPropagationStopped(),E=!i.isImmediatePropagationStopped(),l=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]}})})),l&&(_.preventDefault(),defaultPreventedPreservedOnDispatch||Object.defineProperty(_,"defaultPrevented",{get:function(){return!0}})),E&&e.dispatchEvent(_),_.defaultPrevented&&void 0!==i&&i.preventDefault(),_}},NAME="alert",VERSION="5.0.0-alpha1",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=this._element;e&&(t=this._getRootElement(e));var 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 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$1="button",VERSION$1="5.0.0-alpha1",DATA_KEY$1="bs.button",EVENT_KEY$1="."+DATA_KEY$1,DATA_API_KEY$1=".data-api",CLASS_NAME_ACTIVE="active",CLASS_NAME_DISABLED="disabled",CLASS_NAME_FOCUS="focus",SELECTOR_DATA_TOGGLE_CARROT='[data-toggle^="button"]',SELECTOR_DATA_TOGGLE='[data-toggle="buttons"]',SELECTOR_INPUT='input:not([type="hidden"])',SELECTOR_ACTIVE=".active",SELECTOR_BUTTON=".btn",EVENT_CLICK_DATA_API$1="click"+EVENT_KEY$1+DATA_API_KEY$1,EVENT_FOCUS_DATA_API="focus"+EVENT_KEY$1+DATA_API_KEY$1,EVENT_BLUR_DATA_API="blur"+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(){var e=!0,t=!0,n=this._element.closest(SELECTOR_DATA_TOGGLE);if(n){var i=SelectorEngine.findOne(SELECTOR_INPUT,this._element);if(i&&"radio"===i.type){if(i.checked&&this._element.classList.contains(CLASS_NAME_ACTIVE))e=!1;else{var r=SelectorEngine.findOne(SELECTOR_ACTIVE,n);r&&r.classList.remove(CLASS_NAME_ACTIVE)}if(e){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains(CLASS_NAME_DISABLED)||n.classList.contains(CLASS_NAME_DISABLED))return;i.checked=!this._element.classList.contains(CLASS_NAME_ACTIVE),EventHandler.trigger(i,"change")}i.focus(),t=!1}}t&&this._element.setAttribute("aria-pressed",!this._element.classList.contains(CLASS_NAME_ACTIVE)),e&&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_CARROT,(function(e){e.preventDefault();var t=e.target.closest(SELECTOR_BUTTON),n=Data.getData(t,DATA_KEY$1);n||(n=new Button(t)),n.toggle()})),EventHandler.on(document,EVENT_FOCUS_DATA_API,SELECTOR_DATA_TOGGLE_CARROT,(function(e){var t=e.target.closest(SELECTOR_BUTTON);t&&t.classList.add(CLASS_NAME_FOCUS)})),EventHandler.on(document,EVENT_BLUR_DATA_API,SELECTOR_DATA_TOGGLE_CARROT,(function(e){var t=e.target.closest(SELECTOR_BUTTON);t&&t.classList.remove(CLASS_NAME_FOCUS)}));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=_objectSpread2({},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))}},NAME$2="carousel",VERSION$2="5.0.0-alpha1",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$1=".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=_objectSpread2(_objectSpread2({},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$1,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),E=t||a&&this._getItemByDirection(e,a),l=this._getItemIndex(E),_=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),E&&E.classList.contains(CLASS_NAME_ACTIVE$1))this._isSliding=!1;else if(!this._triggerSlideEvent(E,r).defaultPrevented&&a&&E){if(this._isSliding=!0,_&&this.pause(),this._setActiveIndicatorElement(E),this._element.classList.contains(CLASS_NAME_SLIDE)){E.classList.add(i),reflow(E),a.classList.add(n),E.classList.add(n);var c=parseInt(E.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(){E.classList.remove(n,i),E.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:E,direction:r,from:s,to:l})}),0)})),emulateTransitionEnd(a,u)}else a.classList.remove(CLASS_NAME_ACTIVE$1),E.classList.add(CLASS_NAME_ACTIVE$1),this._isSliding=!1,EventHandler.trigger(this._element,EVENT_SLID,{relatedTarget:E,direction:r,from:s,to:l});_&&this.cycle()}},e.carouselInterface=function(t,n){var i=Data.getData(t,DATA_KEY$2),r=_objectSpread2(_objectSpread2({},Default),Manipulator.getDataAttributes(t));"object"==typeof n&&(r=_objectSpread2(_objectSpread2({},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=_objectSpread2(_objectSpread2({},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-alpha1",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)),E=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,E),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=_objectSpread2(_objectSpread2({},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){var n=e.classList.contains(CLASS_NAME_SHOW);t.length&&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=_objectSpread2(_objectSpread2(_objectSpread2({},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-alpha1",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$1="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$1)){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$1)||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$1)&&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=_objectSpread2(_objectSpread2(_objectSpread2({},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=_objectSpread2(_objectSpread2({},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}),_objectSpread2(_objectSpread2({},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 E=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)&&E.contains(t.target)))if(!EventHandler.trigger(o,EVENT_HIDE$1,s).defaultPrevented){var l;if("ontouchstart"in document.documentElement)(l=[]).concat.apply(l,document.body.children).forEach((function(e){return EventHandler.off(e,"mouseover",null,noop())}));n[i].setAttribute("aria-expanded","false"),a._popper&&a._popper.destroy(),E.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$1))){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-alpha1",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=_objectSpread2(_objectSpread2({},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;this._element.classList.add(CLASS_NAME_STATIC);var t=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,(function(){e._element.classList.remove(CLASS_NAME_STATIC)})),emulateTransitionEnd(this._element,t),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=_objectSpread2(_objectSpread2(_objectSpread2({},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=_objectSpread2(_objectSpread2({},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},DefaultWhitelist={"*":["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 E=(i=[]).concat.apply(i,r.attributes),l=[].concat(t["*"]||[],t[s]||[]);E.forEach((function(e){allowedAttribute(e,l)||r.removeAttribute(e.nodeName)}))},E=0,l=a.length;E<l;E++)s(E);return r.body.innerHTML}var NAME$6="tooltip",VERSION$6="5.0.0-alpha1",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","whiteList","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)",whiteList:"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,whiteList:DefaultWhitelist,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.target,t);n||(n=new this.constructor(e.target,this._getDelegateConfig()),Data.setData(e.target,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 E,l=this._getContainer();if(Data.setData(r,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||l.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)(E=[]).concat.apply(E,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,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.whiteList,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 _objectSpread2(_objectSpread2({},{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=_objectSpread2(_objectSpread2({},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=_objectSpread2(_objectSpread2({},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.target,n))||(t=new this.constructor(e.target,this._getDelegateConfig()),Data.setData(e.target,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.target,n))||(t=new this.constructor(e.target,this._getDelegateConfig()),Data.setData(e.target,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=_objectSpread2(_objectSpread2(_objectSpread2({},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.whiteList,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){var t=e.instance;this.tip=t.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-alpha1",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=_objectSpread2(_objectSpread2({},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=_objectSpread2(_objectSpread2({},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-alpha1",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,r=getSelectorFromElement(e);if(r&&(t=SelectorEngine.findOne(r)),t){var o=t.getBoundingClientRect();if(o.width||o.height)return[Manipulator[n](t).top+i,r]}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=_objectSpread2(_objectSpread2({},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-alpha1",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$2="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$2=".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$2))){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$2;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$2):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-alpha1",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:500},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._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(){clearTimeout(this._timeout),this._timeout=null,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=_objectSpread2(_objectSpread2(_objectSpread2({},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()}))},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(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 _defineProperty(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ownKeys(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,i)}return n}function _objectSpread2(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(n),!0).forEach((function(t){_defineProperty(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):ownKeys(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}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.key&&(n.key={key:i,id:t},t++),e[n.key.id]=r},get:function(t,n){if(!t||void 0===t.key)return null;var i=t.key;return i.key===n?e[i.id]:null},delete:function(t,n){if(void 0!==t.key){var i=t.key;i.key===n&&(delete e[i.id],delete t.key)}}}}(),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 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 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-alpha1",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=this._element;e&&(t=this._getRootElement(e));var 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-alpha1",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=_objectSpread2({},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-alpha1",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=_objectSpread2(_objectSpread2({},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=_objectSpread2(_objectSpread2({},Default),Manipulator.getDataAttributes(t));"object"==typeof n&&(r=_objectSpread2(_objectSpread2({},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=_objectSpread2(_objectSpread2({},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-alpha1",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=_objectSpread2(_objectSpread2({},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){var n=e.classList.contains(CLASS_NAME_SHOW);t.length&&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=_objectSpread2(_objectSpread2(_objectSpread2({},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-alpha1",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=_objectSpread2(_objectSpread2(_objectSpread2({},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=_objectSpread2(_objectSpread2({},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}),_objectSpread2(_objectSpread2({},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-alpha1",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=_objectSpread2(_objectSpread2({},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;this._element.classList.add(CLASS_NAME_STATIC);var t=getTransitionDurationFromElement(this._element);EventHandler.one(this._element,TRANSITION_END,(function(){e._element.classList.remove(CLASS_NAME_STATIC)})),emulateTransitionEnd(this._element,t),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=_objectSpread2(_objectSpread2(_objectSpread2({},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=_objectSpread2(_objectSpread2({},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},DefaultWhitelist={"*":["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-alpha1",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","whiteList","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)",whiteList:"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,whiteList:DefaultWhitelist,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.target,t);n||(n=new this.constructor(e.target,this._getDelegateConfig()),Data.setData(e.target,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,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.whiteList,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 _objectSpread2(_objectSpread2({},{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=_objectSpread2(_objectSpread2({},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=_objectSpread2(_objectSpread2({},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.target,n))||(t=new this.constructor(e.target,this._getDelegateConfig()),Data.setData(e.target,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.target,n))||(t=new this.constructor(e.target,this._getDelegateConfig()),Data.setData(e.target,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=_objectSpread2(_objectSpread2(_objectSpread2({},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.whiteList,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){var t=e.instance;this.tip=t.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-alpha1",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=_objectSpread2(_objectSpread2({},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=_objectSpread2(_objectSpread2({},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-alpha1",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,r=getSelectorFromElement(e);if(r&&(t=SelectorEngine.findOne(r)),t){var o=t.getBoundingClientRect();if(o.width||o.height)return[Manipulator[n](t).top+i,r]}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=_objectSpread2(_objectSpread2({},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-alpha1",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-alpha1",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:500},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._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(){clearTimeout(this._timeout),this._timeout=null,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=_objectSpread2(_objectSpread2(_objectSpread2({},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()}))},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};
//# 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 e14d920d4d..c456ba9d24 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/dom/selector-engine.js","../../js/src/button.js","../../js/src/dom/manipulator.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","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","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","NODE_TEXT","SelectorEngine","_ref","concat","findFn","children","_ref2","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","CLASS_NAME_ACTIVE","CLASS_NAME_DISABLED","CLASS_NAME_FOCUS","SELECTOR_DATA_TOGGLE_CARROT","SELECTOR_DATA_TOGGLE","SELECTOR_INPUT","SELECTOR_ACTIVE","SELECTOR_BUTTON","EVENT_FOCUS_DATA_API","EVENT_BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","_objectSpread2","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","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_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","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_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","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","modalTransitionDuration","isModalOverflowing","scrollHeight","clientHeight","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","DefaultWhitelist","*","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","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","elements","_loop","el","elName","attributeList","whitelistedAttributes","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","popperInstance","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"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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)\n .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-alpha1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\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-alpha1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 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 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)\n .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)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .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 informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .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-alpha1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\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\n .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\n .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-alpha1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } 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 = 'button'\nconst VERSION = '5.0.0-alpha1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"buttons\"]'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_BLUR_DATA_API = `blur${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 let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = this._element.closest(SELECTOR_DATA_TOGGLE)\n\n if (rootElement) {\n const input = SelectorEngine.findOne(SELECTOR_INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains(CLASS_NAME_DISABLED) ||\n rootElement.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(CLASS_NAME_ACTIVE)\n }\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_CARROT, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_BUTTON)\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUS_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = event.target.closest(SELECTOR_BUTTON)\n\n if (button) {\n button.classList.add(CLASS_NAME_FOCUS)\n }\n})\n\nEventHandler.on(document, EVENT_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = event.target.closest(SELECTOR_BUTTON)\n\n if (button) {\n button.classList.remove(CLASS_NAME_FOCUS)\n }\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-alpha1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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\n .on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler\n .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\n .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\n .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-alpha1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 const hasWidth = this._element.classList.contains(WIDTH)\n return hasWidth ? 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) {\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\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 }\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-alpha1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\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)\n .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\n .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-alpha1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\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-alpha1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 DefaultWhitelist = {\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, whiteList, 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 whitelistKeys = Object.keys(whiteList)\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 (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 DefaultWhitelist,\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-alpha1'\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', 'whiteList', '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 whiteList: '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 whiteList: DefaultWhitelist,\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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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 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.whiteList, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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)\n .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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, 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 const popperInstance = popperData.instance\n this.tip = popperInstance.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-alpha1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\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-alpha1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${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\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\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\n .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\n .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-alpha1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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-alpha1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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: 500\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 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 clearTimeout(this._timeout)\n this._timeout = null\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n () => this.hide()\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\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/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","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","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","_objectSpread2","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","modalTransitionDuration","isModalOverflowing","scrollHeight","clientHeight","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","DefaultWhitelist","*","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","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","elements","_loop","el","elName","attributeList","whitelistedAttributes","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","popperInstance","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"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha1): 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)\n .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-alpha1): 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.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\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-alpha1): 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-alpha1): 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 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 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)\n .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)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .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 informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .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-alpha1): 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-alpha1'\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 let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\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\n .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\n .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-alpha1): 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-alpha1'\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-alpha1): 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-alpha1): 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-alpha1): 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-alpha1'\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\n .on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler\n .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\n .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\n .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-alpha1): 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-alpha1'\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 const hasWidth = this._element.classList.contains(WIDTH)\n return hasWidth ? 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) {\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\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 }\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-alpha1): 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-alpha1'\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\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)\n .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\n .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-alpha1): 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-alpha1'\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 this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\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-alpha1): 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 DefaultWhitelist = {\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, whiteList, 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 whitelistKeys = Object.keys(whiteList)\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 (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha1): 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 DefaultWhitelist,\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-alpha1'\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', 'whiteList', '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 whiteList: '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 whiteList: DefaultWhitelist,\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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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 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.whiteList, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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)\n .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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, 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 const popperInstance = popperData.instance\n this.tip = popperInstance.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-alpha1): 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-alpha1'\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 _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\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-alpha1): 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-alpha1'\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},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${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\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\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\n .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\n .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-alpha1): 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-alpha1'\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-alpha1): 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-alpha1'\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: 500\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 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 clearTimeout(this._timeout)\n this._timeout = null\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n () => this.hide()\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\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
diff --git a/dist/js/bootstrap.js b/dist/js/bootstrap.js
index 03c194a4ee..2db5d83e26 100644
--- a/dist/js/bootstrap.js
+++ b/dist/js/bootstrap.js
@@ -1,7 +1,7 @@
/*!
* Bootstrap v5.0.0-alpha1 (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/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/
(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('popper.js')) :
@@ -85,7 +85,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-alpha1): util/index.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
var MAX_UID = 1000000;
@@ -260,7 +260,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-alpha1): dom/data.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
@@ -399,7 +399,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-alpha1): dom/event-handler.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
/**
@@ -836,90 +836,6 @@
}
/**
- * --------------------------------------------------------------------------
- * Bootstrap (v5.0.0-alpha1): dom/selector-engine.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- * --------------------------------------------------------------------------
- */
- /**
- * ------------------------------------------------------------------------
- * Constants
- * ------------------------------------------------------------------------
- */
-
- var NODE_TEXT = 3;
- var SelectorEngine = {
- matches: function matches(element, selector) {
- return element.matches(selector);
- },
- find: function find$1(selector, element) {
- var _ref;
-
- if (element === void 0) {
- element = document.documentElement;
- }
-
- return (_ref = []).concat.apply(_ref, find.call(element, selector));
- },
- findOne: function findOne$1(selector, element) {
- if (element === void 0) {
- element = document.documentElement;
- }
-
- return findOne.call(element, selector);
- },
- children: function children(element, selector) {
- var _ref2;
-
- var children = (_ref2 = []).concat.apply(_ref2, element.children);
-
- return children.filter(function (child) {
- return child.matches(selector);
- });
- },
- parents: function parents(element, selector) {
- var parents = [];
- var ancestor = element.parentNode;
-
- while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {
- if (this.matches(ancestor, selector)) {
- parents.push(ancestor);
- }
-
- ancestor = ancestor.parentNode;
- }
-
- return parents;
- },
- prev: function prev(element, selector) {
- var previous = element.previousElementSibling;
-
- while (previous) {
- if (previous.matches(selector)) {
- return [previous];
- }
-
- previous = previous.previousElementSibling;
- }
-
- return [];
- },
- next: function next(element, selector) {
- var next = element.nextElementSibling;
-
- while (next) {
- if (this.matches(next, selector)) {
- return [next];
- }
-
- next = next.nextElementSibling;
- }
-
- return [];
- }
- };
-
- /**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
@@ -931,16 +847,8 @@
var EVENT_KEY$1 = "." + DATA_KEY$1;
var DATA_API_KEY$1 = '.data-api';
var CLASS_NAME_ACTIVE = 'active';
- var CLASS_NAME_DISABLED = 'disabled';
- var CLASS_NAME_FOCUS = 'focus';
- var SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^="button"]';
- var SELECTOR_DATA_TOGGLE = '[data-toggle="buttons"]';
- var SELECTOR_INPUT = 'input:not([type="hidden"])';
- var SELECTOR_ACTIVE = '.active';
- var SELECTOR_BUTTON = '.btn';
+ var SELECTOR_DATA_TOGGLE = '[data-toggle="button"]';
var EVENT_CLICK_DATA_API$1 = "click" + EVENT_KEY$1 + DATA_API_KEY$1;
- var EVENT_FOCUS_DATA_API = "focus" + EVENT_KEY$1 + DATA_API_KEY$1;
- var EVENT_BLUR_DATA_API = "blur" + EVENT_KEY$1 + DATA_API_KEY$1;
/**
* ------------------------------------------------------------------------
* Class Definition
@@ -958,46 +866,8 @@
// Public
_proto.toggle = function toggle() {
- var triggerChangeEvent = true;
- var addAriaPressed = true;
-
- var rootElement = this._element.closest(SELECTOR_DATA_TOGGLE);
-
- if (rootElement) {
- var input = SelectorEngine.findOne(SELECTOR_INPUT, this._element);
-
- if (input && input.type === 'radio') {
- if (input.checked && this._element.classList.contains(CLASS_NAME_ACTIVE)) {
- triggerChangeEvent = false;
- } else {
- var activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE, rootElement);
-
- if (activeElement) {
- activeElement.classList.remove(CLASS_NAME_ACTIVE);
- }
- }
-
- if (triggerChangeEvent) {
- if (input.hasAttribute('disabled') || rootElement.hasAttribute('disabled') || input.classList.contains(CLASS_NAME_DISABLED) || rootElement.classList.contains(CLASS_NAME_DISABLED)) {
- return;
- }
-
- input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE);
- EventHandler.trigger(input, 'change');
- }
-
- input.focus();
- addAriaPressed = false;
- }
- }
-
- if (addAriaPressed) {
- this._element.setAttribute('aria-pressed', !this._element.classList.contains(CLASS_NAME_ACTIVE));
- }
-
- if (triggerChangeEvent) {
- this._element.classList.toggle(CLASS_NAME_ACTIVE);
- }
+ // Toggle class and sync the `aria-pressed` attribute with the return value of the `.toggle()` method
+ this._element.setAttribute('aria-pressed', this._element.classList.toggle(CLASS_NAME_ACTIVE));
};
_proto.dispose = function dispose() {
@@ -1040,9 +910,9 @@
*/
- EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
+ EventHandler.on(document, EVENT_CLICK_DATA_API$1, SELECTOR_DATA_TOGGLE, function (event) {
event.preventDefault();
- var button = event.target.closest(SELECTOR_BUTTON);
+ var button = event.target.closest(SELECTOR_DATA_TOGGLE);
var data = Data.getData(button, DATA_KEY$1);
if (!data) {
@@ -1051,20 +921,6 @@
data.toggle();
});
- EventHandler.on(document, EVENT_FOCUS_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
- var button = event.target.closest(SELECTOR_BUTTON);
-
- if (button) {
- button.classList.add(CLASS_NAME_FOCUS);
- }
- });
- EventHandler.on(document, EVENT_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, function (event) {
- var button = event.target.closest(SELECTOR_BUTTON);
-
- if (button) {
- button.classList.remove(CLASS_NAME_FOCUS);
- }
- });
var $$2 = getjQuery();
/**
* ------------------------------------------------------------------------
@@ -1089,7 +945,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-alpha1): dom/manipulator.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
function normalizeData(val) {
@@ -1167,6 +1023,90 @@
};
/**
+ * --------------------------------------------------------------------------
+ * Bootstrap (v5.0.0-alpha1): 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) {
+ var _ref;
+
+ if (element === void 0) {
+ element = document.documentElement;
+ }
+
+ return (_ref = []).concat.apply(_ref, find.call(element, selector));
+ },
+ findOne: function findOne$1(selector, element) {
+ if (element === void 0) {
+ element = document.documentElement;
+ }
+
+ return findOne.call(element, selector);
+ },
+ children: function children(element, selector) {
+ var _ref2;
+
+ var children = (_ref2 = []).concat.apply(_ref2, element.children);
+
+ return children.filter(function (child) {
+ return child.matches(selector);
+ });
+ },
+ parents: function parents(element, selector) {
+ var parents = [];
+ var ancestor = element.parentNode;
+
+ while (ancestor && ancestor.nodeType === Node.ELEMENT_NODE && ancestor.nodeType !== NODE_TEXT) {
+ if (this.matches(ancestor, selector)) {
+ parents.push(ancestor);
+ }
+
+ ancestor = ancestor.parentNode;
+ }
+
+ return parents;
+ },
+ prev: function prev(element, selector) {
+ var previous = element.previousElementSibling;
+
+ while (previous) {
+ if (previous.matches(selector)) {
+ return [previous];
+ }
+
+ previous = previous.previousElementSibling;
+ }
+
+ return [];
+ },
+ next: function next(element, selector) {
+ var next = element.nextElementSibling;
+
+ while (next) {
+ if (this.matches(next, selector)) {
+ return [next];
+ }
+
+ next = next.nextElementSibling;
+ }
+
+ return [];
+ }
+ };
+
+ /**
* ------------------------------------------------------------------------
* Constants
* ------------------------------------------------------------------------
@@ -1223,7 +1163,7 @@
var CLASS_NAME_NEXT = 'carousel-item-next';
var CLASS_NAME_PREV = 'carousel-item-prev';
var CLASS_NAME_POINTER_EVENT = 'pointer-event';
- var SELECTOR_ACTIVE$1 = '.active';
+ var SELECTOR_ACTIVE = '.active';
var SELECTOR_ACTIVE_ITEM = '.active.carousel-item';
var SELECTOR_ITEM = '.carousel-item';
var SELECTOR_ITEM_IMG = '.carousel-item img';
@@ -1538,7 +1478,7 @@
_proto._setActiveIndicatorElement = function _setActiveIndicatorElement(element) {
if (this._indicatorsElement) {
- var indicators = SelectorEngine.find(SELECTOR_ACTIVE$1, this._indicatorsElement);
+ var indicators = SelectorEngine.find(SELECTOR_ACTIVE, this._indicatorsElement);
for (var i = 0; i < indicators.length; i++) {
indicators[i].classList.remove(CLASS_NAME_ACTIVE$1);
@@ -2193,7 +2133,7 @@
var EVENT_CLICK_DATA_API$4 = "click" + EVENT_KEY$4 + DATA_API_KEY$4;
var EVENT_KEYDOWN_DATA_API = "keydown" + EVENT_KEY$4 + DATA_API_KEY$4;
var EVENT_KEYUP_DATA_API = "keyup" + EVENT_KEY$4 + DATA_API_KEY$4;
- var CLASS_NAME_DISABLED$1 = 'disabled';
+ var CLASS_NAME_DISABLED = 'disabled';
var CLASS_NAME_SHOW$1 = 'show';
var CLASS_NAME_DROPUP = 'dropup';
var CLASS_NAME_DROPRIGHT = 'dropright';
@@ -2252,7 +2192,7 @@
// Public
_proto.toggle = function toggle() {
- if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED$1)) {
+ if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED)) {
return;
}
@@ -2268,7 +2208,7 @@
};
_proto.show = function show() {
- if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED$1) || this._menu.classList.contains(CLASS_NAME_SHOW$1)) {
+ if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || this._menu.classList.contains(CLASS_NAME_SHOW$1)) {
return;
}
@@ -2332,7 +2272,7 @@
};
_proto.hide = function hide() {
- if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED$1) || !this._menu.classList.contains(CLASS_NAME_SHOW$1)) {
+ if (this._element.disabled || this._element.classList.contains(CLASS_NAME_DISABLED) || !this._menu.classList.contains(CLASS_NAME_SHOW$1)) {
return;
}
@@ -2567,7 +2507,7 @@
event.preventDefault();
event.stopPropagation();
- if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED$1)) {
+ if (this.disabled || this.classList.contains(CLASS_NAME_DISABLED)) {
return;
}
@@ -3290,7 +3230,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-alpha1): util/sanitizer.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
var uriAttrs = ['background', 'cite', 'href', 'itemtype', 'longdesc', 'poster', 'src', 'xlink:href'];
@@ -4673,12 +4613,12 @@
var EVENT_CLICK_DATA_API$6 = "click" + EVENT_KEY$9 + DATA_API_KEY$7;
var CLASS_NAME_DROPDOWN_MENU = 'dropdown-menu';
var CLASS_NAME_ACTIVE$3 = 'active';
- var CLASS_NAME_DISABLED$2 = 'disabled';
+ var CLASS_NAME_DISABLED$1 = 'disabled';
var CLASS_NAME_FADE$3 = 'fade';
var CLASS_NAME_SHOW$5 = 'show';
var SELECTOR_DROPDOWN$1 = '.dropdown';
var SELECTOR_NAV_LIST_GROUP$1 = '.nav, .list-group';
- var SELECTOR_ACTIVE$2 = '.active';
+ var SELECTOR_ACTIVE$1 = '.active';
var SELECTOR_ACTIVE_UL = ':scope > li > .active';
var SELECTOR_DATA_TOGGLE$4 = '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]';
var SELECTOR_DROPDOWN_TOGGLE$1 = '.dropdown-toggle';
@@ -4702,7 +4642,7 @@
_proto.show = function show() {
var _this = 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$2)) {
+ 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)) {
return;
}
@@ -4712,7 +4652,7 @@
var listElement = this._element.closest(SELECTOR_NAV_LIST_GROUP$1);
if (listElement) {
- var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE$2;
+ var itemSelector = listElement.nodeName === 'UL' || listElement.nodeName === 'OL' ? SELECTOR_ACTIVE_UL : SELECTOR_ACTIVE$1;
previous = SelectorEngine.find(itemSelector, listElement);
previous = previous[previous.length - 1];
}
@@ -4760,7 +4700,7 @@
_proto._activate = function _activate(element, container, callback) {
var _this2 = this;
- var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine.find(SELECTOR_ACTIVE_UL, container) : SelectorEngine.children(container, SELECTOR_ACTIVE$2);
+ var activeElements = container && (container.nodeName === 'UL' || container.nodeName === 'OL') ? SelectorEngine.find(SELECTOR_ACTIVE_UL, container) : SelectorEngine.children(container, SELECTOR_ACTIVE$1);
var active = activeElements[0];
var isTransitioning = callback && active && active.classList.contains(CLASS_NAME_FADE$3);
@@ -5103,7 +5043,7 @@
/**
* --------------------------------------------------------------------------
* Bootstrap (v5.0.0-alpha1): index.umd.js
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* --------------------------------------------------------------------------
*/
var index_umd = {
diff --git a/dist/js/bootstrap.js.map b/dist/js/bootstrap.js.map
index 5817eefca8..65e2c2561b 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/dom/selector-engine.js","../../js/src/button.js","../../js/src/dom/manipulator.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-alpha1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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)\n .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-alpha1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\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-alpha1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 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 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)\n .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)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .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 informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .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-alpha1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\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\n .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\n .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-alpha1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } 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 = 'button'\nconst VERSION = '5.0.0-alpha1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"buttons\"]'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_BLUR_DATA_API = `blur${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 let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = this._element.closest(SELECTOR_DATA_TOGGLE)\n\n if (rootElement) {\n const input = SelectorEngine.findOne(SELECTOR_INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains(CLASS_NAME_DISABLED) ||\n rootElement.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(CLASS_NAME_ACTIVE)\n }\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_CARROT, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_BUTTON)\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUS_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = event.target.closest(SELECTOR_BUTTON)\n\n if (button) {\n button.classList.add(CLASS_NAME_FOCUS)\n }\n})\n\nEventHandler.on(document, EVENT_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = event.target.closest(SELECTOR_BUTTON)\n\n if (button) {\n button.classList.remove(CLASS_NAME_FOCUS)\n }\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-alpha1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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\n .on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler\n .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\n .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\n .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-alpha1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 const hasWidth = this._element.classList.contains(WIDTH)\n return hasWidth ? 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) {\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\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 }\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-alpha1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\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)\n .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\n .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-alpha1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\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-alpha1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 DefaultWhitelist = {\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, whiteList, 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 whitelistKeys = Object.keys(whiteList)\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 (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 DefaultWhitelist,\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-alpha1'\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', 'whiteList', '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 whiteList: '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 whiteList: DefaultWhitelist,\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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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 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.whiteList, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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)\n .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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, 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 const popperInstance = popperData.instance\n this.tip = popperInstance.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-alpha1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\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-alpha1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${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\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\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\n .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\n .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-alpha1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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-alpha1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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: 500\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 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 clearTimeout(this._timeout)\n this._timeout = null\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n () => this.hide()\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\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-alpha1): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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","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","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","NODE_TEXT","SelectorEngine","concat","findFn","children","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","CLASS_NAME_ACTIVE","CLASS_NAME_DISABLED","CLASS_NAME_FOCUS","SELECTOR_DATA_TOGGLE_CARROT","SELECTOR_DATA_TOGGLE","SELECTOR_INPUT","SELECTOR_ACTIVE","SELECTOR_BUTTON","EVENT_FOCUS_DATA_API","EVENT_BLUR_DATA_API","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","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_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","tagName","_getItemByDirection","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","hasWidth","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_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","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","currentTarget","backdropTransitionDuration","callbackRemove","modalTransitionDuration","isModalOverflowing","scrollHeight","clientHeight","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","DefaultWhitelist","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","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","elements","el","elName","attributeList","whitelistedAttributes","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","popperInstance","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"],"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/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-alpha1): 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)\n .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-alpha1): 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.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\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-alpha1): 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-alpha1): 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 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 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)\n .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)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .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 informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .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-alpha1): 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-alpha1'\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 let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\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\n .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\n .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-alpha1): 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-alpha1'\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-alpha1): 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-alpha1): 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-alpha1): 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-alpha1'\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\n .on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler\n .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\n .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\n .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-alpha1): 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-alpha1'\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 const hasWidth = this._element.classList.contains(WIDTH)\n return hasWidth ? 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) {\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\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 }\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-alpha1): 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-alpha1'\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\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)\n .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\n .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-alpha1): 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-alpha1'\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 this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\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-alpha1): 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 DefaultWhitelist = {\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, whiteList, 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 whitelistKeys = Object.keys(whiteList)\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 (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha1): 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 DefaultWhitelist,\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-alpha1'\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', 'whiteList', '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 whiteList: '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 whiteList: DefaultWhitelist,\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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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 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.whiteList, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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)\n .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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, 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 const popperInstance = popperData.instance\n this.tip = popperInstance.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-alpha1): 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-alpha1'\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 _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\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-alpha1): 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-alpha1'\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},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${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\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\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\n .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\n .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-alpha1): 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-alpha1'\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-alpha1): 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-alpha1'\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: 500\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 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 clearTimeout(this._timeout)\n this._timeout = null\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n () => this.hide()\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\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-alpha1): 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","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","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","toggleClass","className","add","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","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","hasWidth","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","currentTarget","backdropTransitionDuration","callbackRemove","modalTransitionDuration","isModalOverflowing","scrollHeight","clientHeight","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","DefaultWhitelist","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","whiteList","sanitizeFn","domParser","DOMParser","createdDocument","parseFromString","whitelistKeys","elements","el","elName","attributeList","whitelistedAttributes","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","popperInstance","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"],"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 48c40467a4..52ab1554cb 100644
--- a/dist/js/bootstrap.min.js
+++ b/dist/js/bootstrap.min.js
@@ -1,7 +1,7 @@
/*!
* Bootstrap v5.0.0-alpha1 (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/master/LICENSE)
+ * 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=t||self).bootstrap=e(t.Popper)}(this,(function(t){"use strict";function e(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 n(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function s(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach((function(e){i(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;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},k=(r={},a=1,{set:function(t,e,n){void 0===t.key&&(t.key={key:e,id:a},a++),r[t.key.id]=n},get:function(t,e){if(!t||void 0===t.key)return null;var n=t.key;return n.key===e?r[n.id]:null},delete:function(t,e){if(void 0!==t.key){var n=t.key;n.key===e&&(delete r[n.id],delete t.key)}}}),T=function(t,e,n){k.set(t,e,n)},L=function(t,e){return k.get(t,e)},C=function(t,e){k.delete(t,e)},A=Element.prototype.querySelectorAll,S=Element.prototype.querySelector,O=(l=new CustomEvent("Bootstrap",{cancelable:!0}),(c=document.createElement("div")).addEventListener("Bootstrap",(function(){return null})),l.preventDefault(),c.dispatchEvent(l),l.defaultPrevented),D=/:scope\b/;(function(){var t=document.createElement("div");try{t.querySelectorAll(":scope *")}catch(t){return!1}return!0})()||(A=function(t){if(!D.test(t))return this.querySelectorAll(t);var e=Boolean(this.id);e||(this.id=u("scope"));var n=null;try{t=t.replace(D,"#"+this.id),n=this.querySelectorAll(t)}finally{e||this.removeAttribute("id")}return n},S=function(t){if(!D.test(t))return this.querySelector(t);var e=A.call(this,t);return void 0!==e[0]?e[0]:null});var I=E(),N=/[^.]*(?=\..*)\.|.*/,j=/\..*/,P=/::\d+$/,x={},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,x[e]=x[e]||{},x[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 i.oneOff&&q.off(t,o.type,n),n.apply(r,[o]);return null}}(t,n,i):function(t,e){return function n(i){return n.oneOff&&q.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 V(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 q={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];V(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(P,"");if(!l||e.indexOf(i)>-1){var o=h[n];V(t,c,a,o.originalHandler,o.delegationSelector)}}))}else{if(!c||!c[a])return;V(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&&I&&(i=I.Event(e,n),I(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(),O||Object.defineProperty(u,"defaultPrevented",{get:function(){return!0}})),l&&t.dispatchEvent(u),u.defaultPrevented&&void 0!==i&&i.preventDefault(),u}},z="alert",K=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=this._element;t&&(e=this._getRootElement(t));var 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 q.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);q.one(t,"transitionend",(function(){return e._destroyElement(t)})),_(t,n)}else this._destroyElement(t)},e._destroyElement=function(t){t.parentNode&&t.parentNode.removeChild(t),q.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")},n(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}}]),t}();q.on(document,"click.bs.alert.data-api",'[data-dismiss="alert"]',K.handleDismiss(new K));var X=E();if(X){var Y=X.fn[z];X.fn[z]=K.jQueryInterface,X.fn[z].Constructor=K,X.fn[z].noConflict=function(){return X.fn[z]=Y,K.jQueryInterface}}var $={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[]}},G=function(){function t(t){this._element=t,T(t,"bs.button",this)}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=this._element.closest('[data-toggle="buttons"]');if(n){var i=$.findOne('input:not([type="hidden"])',this._element);if(i&&"radio"===i.type){if(i.checked&&this._element.classList.contains("active"))t=!1;else{var o=$.findOne(".active",n);o&&o.classList.remove("active")}if(t){if(i.hasAttribute("disabled")||n.hasAttribute("disabled")||i.classList.contains("disabled")||n.classList.contains("disabled"))return;i.checked=!this._element.classList.contains("active"),q.trigger(i,"change")}i.focus(),e=!1}}e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains("active")),t&&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")},n(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}}]),t}();q.on(document,"click.bs.button.data-api",'[data-toggle^="button"]',(function(t){t.preventDefault();var e=t.target.closest(".btn"),n=L(e,"bs.button");n||(n=new G(e)),n.toggle()})),q.on(document,"focus.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=t.target.closest(".btn");e&&e.classList.add("focus")})),q.on(document,"blur.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=t.target.closest(".btn");e&&e.classList.remove("focus")}));var Z=E();if(Z){var J=Z.fn.button;Z.fn.button=G.jQueryInterface,Z.fn.button.Constructor=G,Z.fn.button.noConflict=function(){return Z.fn.button=J,G.jQueryInterface}}function tt(t){return"true"===t||"false"!==t&&(t===Number(t).toString()?Number(t):""===t||"null"===t?null:t)}function et(t){return t.replace(/[A-Z]/g,(function(t){return"-"+t.toLowerCase()}))}var nt={setDataAttribute:function(t,e,n){t.setAttribute("data-"+et(e),n)},removeDataAttribute:function(t,e){t.removeAttribute("data-"+et(e))},getDataAttributes:function(t){if(!t)return{};var e=s({},t.dataset);return Object.keys(e).forEach((function(t){e[t]=tt(e[t])})),e},getDataAttribute:function(t,e){return tt(t.getAttribute("data-"+et(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))}},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=$.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&&b(this._element)&&this.next()},e.prev=function(){this._isSliding||this._slide("prev")},e.pause=function(t){t||(this._isPaused=!0),$.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=$.findOne(".active.carousel-item",this._element);var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)q.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(){q.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(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&&q.on(this._element,"keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&(q.on(this._element,"mouseenter.bs.carousel",(function(e){return t.pause(e)})),q.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))};$.find(".carousel-item img",this._element).forEach((function(t){q.on(t,"dragstart.bs.carousel",(function(t){return t.preventDefault()}))})),this._pointerEvent?(q.on(this._element,"pointerdown.bs.carousel",(function(t){return e(t)})),q.on(this._element,"pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(q.on(this._element,"touchstart.bs.carousel",(function(t){return e(t)})),q.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)})),q.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?$.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($.findOne(".active.carousel-item",this._element));return q.trigger(this._element,"slide.bs.carousel",{relatedTarget:t,direction:e,from:i,to:n})},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){for(var e=$.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=$.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);q.one(r,"transitionend",(function(){l.classList.remove(n,i),l.classList.add("active"),r.classList.remove("active",i,n),s._isSliding=!1,setTimeout((function(){q.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,q.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(s({},st),nt.getDataAttributes(e));"object"==typeof n&&(o=s(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(s({},nt.getDataAttributes(n)),nt.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")},n(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return st}}]),t}();q.on(document,"click.bs.carousel.data-api","[data-slide], [data-slide-to]",lt.dataApiClickHandler),q.on(window,"load.bs.carousel.data-api",(function(){for(var t=$.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=$.find('[data-toggle="collapse"][href="#'+t.id+'"],[data-toggle="collapse"][data-target="#'+t.id+'"]');for(var n=$.find('[data-toggle="collapse"]'),i=0,o=n.length;i<o;i++){var s=n[i],r=f(s),a=$.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=$.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=$.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(!q.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=g(this._element);q.one(this._element,"transitionend",(function(){e._element.classList.remove("collapsing"),e._element.classList.add("collapse","show"),e._element.style[r]="",e.setTransitioning(!1),q.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")&&!q.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);q.one(this._element,"transitionend",(function(){t.setTransitioning(!1),t._element.classList.remove("collapsing"),t._element.classList.add("collapse"),q.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(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=$.findOne(e);var n='[data-toggle="collapse"][data-parent="'+e+'"]';return $.find(n,e).forEach((function(e){var n=d(e);t._addAriaAndCollapsedClass(n,[e])})),e},e._addAriaAndCollapsedClass=function(t,e){if(t){var n=t.classList.contains("show");e.length&&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(s(s({},ft),nt.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")},n(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return ft}}]),t}();q.on(document,"click.bs.collapse.data-api",'[data-toggle="collapse"]',(function(t){"A"===t.target.tagName&&t.preventDefault();var e=nt.getDataAttributes(this),n=f(this);$.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 e(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 i=e.prototype;return i.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")){var t=this._element.classList.contains("show");e.clearMenus(),t||this.show()}},i.show=function(){if(!(this._element.disabled||this._element.classList.contains("disabled")||this._menu.classList.contains("show"))){var n=e.getParentFromElement(this._element),i={relatedTarget:this._element};if(!q.trigger(this._element,"show.bs.dropdown",i).defaultPrevented){if(!this._inNavbar){if(void 0===t)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var o=this._element;"parent"===this._config.reference?o=n:m(this._config.reference)&&(o=this._config.reference,void 0!==this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&n.classList.add("position-static"),this._popper=new t(o,this._menu,this._getPopperConfig())}var s;if("ontouchstart"in document.documentElement&&!n.closest(".navbar-nav"))(s=[]).concat.apply(s,document.body.children).forEach((function(t){return q.on(t,"mouseover",null,(function(){}))}));this._element.focus(),this._element.setAttribute("aria-expanded",!0),nt.toggleClass(this._menu,"show"),nt.toggleClass(this._element,"show"),q.trigger(n,"shown.bs.dropdown",i)}}},i.hide=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")&&this._menu.classList.contains("show")){var t=e.getParentFromElement(this._element),n={relatedTarget:this._element};q.trigger(t,"hide.bs.dropdown",n).defaultPrevented||(this._popper&&this._popper.destroy(),nt.toggleClass(this._menu,"show"),nt.toggleClass(this._element,"show"),q.trigger(t,"hidden.bs.dropdown",n))}},i.dispose=function(){C(this._element,"bs.dropdown"),q.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;q.on(this._element,"click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},i._getConfig=function(t){return t=s(s(s({},this.constructor.Default),nt.getDataAttributes(this._element)),t),v(_t,t,this.constructor.DefaultType),t},i._getMenuElement=function(){return $.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=s(s({},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}),s(s({},t),this._config.popperConfig)},e.dropdownInterface=function(t,n){var i=L(t,"bs.dropdown");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||2!==t.button&&("keyup"!==t.type||"Tab"===t.key))for(var n=$.find('[data-toggle="dropdown"]'),i=0,o=n.length;i<o;i++){var s=e.getParentFromElement(n[i]),r=L(n[i],"bs.dropdown"),a={relatedTarget:n[i]};if(t&&"click"===t.type&&(a.clickEvent=t),r){var l=r._menu;if(n[i].classList.contains("show"))if(!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&"Tab"===t.key)&&l.contains(t.target)))if(!q.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 q.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"),q.trigger(s,"hidden.bs.dropdown",a)}}}},e.getParentFromElement=function(t){return d(t)||t.parentNode},e.dataApiKeydownHandler=function(t){if(!(/input|textarea/i.test(t.target.tagName)?"Space"===t.key||"Escape"!==t.key&&("ArrowDown"!==t.key&&"ArrowUp"!==t.key||t.target.closest(".dropdown-menu")):!vt.test(t.key))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!this.classList.contains("disabled"))){var n=e.getParentFromElement(this),i=this.classList.contains("show");if("Escape"===t.key)return(this.matches('[data-toggle="dropdown"]')?this:$.prev(this,'[data-toggle="dropdown"]')[0]).focus(),void e.clearMenus();if(i&&"Space"!==t.key){var o=$.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",n).filter(b);if(o.length){var s=o.indexOf(t.target);"ArrowUp"===t.key&&s>0&&s--,"ArrowDown"===t.key&&s<o.length-1&&s++,o[s=-1===s?0:s].focus()}}else e.clearMenus()}},e.getInstance=function(t){return L(t,"bs.dropdown")},n(e,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return bt}},{key:"DefaultType",get:function(){return yt}}]),e}();q.on(document,"keydown.bs.dropdown.data-api",'[data-toggle="dropdown"]',wt.dataApiKeydownHandler),q.on(document,"keydown.bs.dropdown.data-api",".dropdown-menu",wt.dataApiKeydownHandler),q.on(document,"click.bs.dropdown.data-api",wt.clearMenus),q.on(document,"keyup.bs.dropdown.data-api",wt.clearMenus),q.on(document,"click.bs.dropdown.data-api",'[data-toggle="dropdown"]',(function(t){t.preventDefault(),t.stopPropagation(),wt.dropdownInterface(this,"toggle")})),q.on(document,"click.bs.dropdown.data-api",".dropdown form",(function(t){return t.stopPropagation()}));var Et=E();if(Et){var kt=Et.fn[_t];Et.fn[_t]=wt.jQueryInterface,Et.fn[_t].Constructor=wt,Et.fn[_t].noConflict=function(){return Et.fn[_t]=kt,wt.jQueryInterface}}var Tt={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=$.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=q.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(),q.on(this._element,"click.dismiss.bs.modal",'[data-dismiss="modal"]',(function(t){return e.hide(t)})),q.on(this._dialog,"mousedown.dismiss.bs.modal",(function(){q.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)&&!q.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(),q.off(document,"focusin.bs.modal"),this._element.classList.remove("show"),q.off(this._element,"click.dismiss.bs.modal"),q.off(this._dialog,"mousedown.dismiss.bs.modal"),n){var i=g(this._element);q.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 q.off(t,".bs.modal")})),q.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(s({},Tt),t),v("modal",t,Lt),t},e._showElement=function(t){var e=this,n=this._element.classList.contains("fade"),i=$.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,q.trigger(e._element,"shown.bs.modal",{relatedTarget:t})};if(n){var s=g(this._dialog);q.one(this._dialog,"transitionend",o),_(this._dialog,s)}else o()},e._enforceFocus=function(){var t=this;q.off(document,"focusin.bs.modal"),q.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?q.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()})):q.off(this._element,"keydown.dismiss.bs.modal")},e._setResizeEvent=function(){var t=this;this._isShown?q.on(window,"resize.bs.modal",(function(){return t._adjustDialog()})):q.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(),q.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),q.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);q.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);q.one(this._backdrop,"transitionend",o),_(this._backdrop,s)}else o()}else t()},e._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){if(q.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;this._element.classList.add("modal-static");var e=g(this._element);q.one(this._element,"transitionend",(function(){t._element.classList.remove("modal-static")})),_(this._element,e),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){$.find(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top").forEach((function(e){var n=e.style.paddingRight,i=window.getComputedStyle(e)["padding-right"];nt.setDataAttribute(e,"padding-right",n),e.style.paddingRight=parseFloat(i)+t._scrollbarWidth+"px"})),$.find(".sticky-top").forEach((function(e){var n=e.style.marginRight,i=window.getComputedStyle(e)["margin-right"];nt.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"];nt.setDataAttribute(document.body,"padding-right",e),document.body.style.paddingRight=parseFloat(n)+this._scrollbarWidth+"px"}document.body.classList.add("modal-open")},e._resetScrollbar=function(){$.find(".fixed-top, .fixed-bottom, .is-fixed, .sticky-top").forEach((function(t){var e=nt.getDataAttribute(t,"padding-right");void 0!==e&&(nt.removeDataAttribute(t,"padding-right"),t.style.paddingRight=e)})),$.find(".sticky-top").forEach((function(t){var e=nt.getDataAttribute(t,"margin-right");void 0!==e&&(nt.removeDataAttribute(t,"margin-right"),t.style.marginRight=e)}));var t=nt.getDataAttribute(document.body,"padding-right");void 0===t?document.body.style.paddingRight="":(nt.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(s(s({},Tt),nt.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")},n(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return Tt}}]),t}();q.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(),q.one(n,"show.bs.modal",(function(t){t.defaultPrevented||q.one(n,"hidden.bs.modal",(function(){b(e)&&e.focus()}))}));var i=L(n,"bs.modal");if(!i){var o=s(s({},nt.getDataAttributes(n)),nt.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 Ot=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],Dt=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,It=/^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===Ot.indexOf(n)||Boolean(t.nodeValue.match(Dt)||t.nodeValue.match(It));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 Pt="tooltip",xt=new RegExp("(^|\\s)bs-tooltip\\S+","g"),Rt=["sanitize","whiteList","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)",whiteList:"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,whiteList: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 e(e,n){if(void 0===t)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(n),this.tip=null,this._setListeners(),T(e,this.constructor.DATA_KEY,this)}var i=e.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=L(t.target,e);n||(n=new this.constructor(t.target,this._getDelegateConfig()),T(t.target,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),C(this.element,this.constructor.DATA_KEY),q.off(this.element,this.constructor.EVENT_KEY),q.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 e=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var n=q.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(n.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(T(s,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||h.appendChild(s),q.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new t(this.element,s,this._getPopperConfig(l)),s.classList.add("show"),"ontouchstart"in document.documentElement)(c=[]).concat.apply(c,document.body.children).forEach((function(t){q.on(t,"mouseover",(function(){}))}));var f=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,q.trigger(e.element,e.constructor.Event.SHOWN),"out"===t&&e._leave(null,e)};if(this.tip.classList.contains("fade")){var d=g(this.tip);q.one(this.tip,"transitionend",f),_(this.tip,d)}else f()}},i.hide=function(){var t=this,e=this.getTipElement(),n=function(){"show"!==t._hoverState&&e.parentNode&&e.parentNode.removeChild(e),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),q.trigger(t.element,t.constructor.Event.HIDDEN),t._popper.destroy()};if(!q.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 q.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);q.one(e,"transitionend",n),_(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($.findOne(".tooltip-inner",t),this.getTitle()),t.classList.remove("fade","show")},i.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.whiteList,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 s(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)},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=s(s({},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:m(this.config.container)?this.config.container:$.findOne(this.config.container)},i._getAttachment=function(t){return Bt[t.toUpperCase()]},i._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)q.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;q.on(t.element,n,t.config.selector,(function(e){return t._enter(e)})),q.on(t.element,i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},q.on(this.element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=s(s({},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||L(t.target,n))||(e=new this.constructor(t.target,this._getDelegateConfig()),T(t.target,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||L(t.target,n))||(e=new this.constructor(t.target,this._getDelegateConfig()),T(t.target,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=nt.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(s(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(Pt,t,this.constructor.DefaultType),t.sanitize&&(t.template=jt(t.template,t.whiteList,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(xt);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},i._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.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)},e.jQueryInterface=function(t){return this.each((function(){var n=L(this,"bs.tooltip"),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(t){return L(t,"bs.tooltip")},n(e,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return Mt}},{key:"NAME",get:function(){return Pt}},{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}}]),e}(),Ft=E();if(Ft){var Wt=Ft.fn[Pt];Ft.fn[Pt]=Ut.jQueryInterface,Ft.fn[Pt].Constructor=Ut,Ft.fn[Pt].noConflict=function(){return Ft.fn[Pt]=Wt,Ut.jQueryInterface}}var Vt="popover",qt=new RegExp("(^|\\s)bs-popover\\S+","g"),zt=s(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>'}),Kt=s(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,i;function o(){return t.apply(this,arguments)||this}i=t,(e=o).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var s=o.prototype;return s.isWithContent=function(){return this.getTitle()||this._getContent()},s.setContent=function(){var t=this.getTipElement();this.setElementContent($.findOne(".popover-header",t),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent($.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(qt);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=L(this,"bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),T(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 L(t,"bs.popover")},n(o,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return zt}},{key:"NAME",get:function(){return Vt}},{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 Kt}}]),o}(Ut),$t=E();if($t){var Gt=$t.fn[Vt];$t.fn[Vt]=Yt.jQueryInterface,$t.fn[Vt].Constructor=Yt,$t.fn[Vt].noConflict=function(){return $t.fn[Vt]=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,q.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(),$.find(this._selector).map((function(t){var e,o=f(t);if(o&&(e=$.findOne(o)),e){var s=e.getBoundingClientRect();if(s.width||s.height)return[nt[n](e).top+i,o]}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"),q.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(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=$.findOne(e.join(","));n.classList.contains("dropdown-item")?($.findOne(".dropdown-toggle",n.closest(".dropdown")).classList.add("active"),n.classList.add("active")):(n.classList.add("active"),$.parents(n,".nav, .list-group").forEach((function(t){$.prev(t,".nav-link, .list-group-item").forEach((function(t){return t.classList.add("active")})),$.prev(t,".nav-item").forEach((function(t){$.children(t,".nav-link").forEach((function(t){return t.classList.add("active")}))}))}))),q.trigger(this._scrollElement,"activate.bs.scrollspy",{relatedTarget:t})},e._clear=function(){$.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")},n(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return Jt}}]),t}();q.on(window,"load.bs.scrollspy.data-api",(function(){$.find('[data-spy="scroll"]').forEach((function(t){return new ee(t,nt.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,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=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=$.find(o,i))[e.length-1]}var s=null;if(e&&(s=q.trigger(e,"hide.bs.tab",{relatedTarget:this._element})),!(q.trigger(this._element,"show.bs.tab",{relatedTarget:e}).defaultPrevented||null!==s&&s.defaultPrevented)){this._activate(this._element,i);var r=function(){q.trigger(e,"hidden.bs.tab",{relatedTarget:t._element}),q.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?$.children(e,".active"):$.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"),q.one(o,"transitionend",r),_(o,a)}else r()},e._transitionComplete=function(t,e,n){if(e){e.classList.remove("active");var i=$.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")&&$.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")},n(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}}]),t}();q.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:500},ce=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(!q.trigger(this._element,"show.bs.toast").defaultPrevented){this._config.animation&&this._element.classList.add("fade");var e=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),q.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);q.one(this._element,"transitionend",e),_(this._element,n)}else e()}},e.hide=function(){var t=this;if(this._element.classList.contains("show")&&!q.trigger(this._element,"hide.bs.toast").defaultPrevented){var e=function(){t._element.classList.add("hide"),q.trigger(t._element,"hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=g(this._element);q.one(this._element,"transitionend",e),_(this._element,n)}else e()}},e.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains("show")&&this._element.classList.remove("show"),q.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(s(s({},le),nt.getDataAttributes(this._element)),"object"==typeof t&&t?t:{}),v("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;q.on(this._element,"click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},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")},n(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{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:K,Button:G,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=t||self).bootstrap=e(t.Popper)}(this,(function(t){"use strict";function e(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 n(t,n,i){return n&&e(t.prototype,n),i&&e(t,i),t}function i(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function o(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,i)}return n}function s(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{};e%2?o(Object(n),!0).forEach((function(e){i(t,e,n[e])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}))}return t}t=t&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t;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},k=(r={},a=1,{set:function(t,e,n){void 0===t.key&&(t.key={key:e,id:a},a++),r[t.key.id]=n},get:function(t,e){if(!t||void 0===t.key)return null;var n=t.key;return n.key===e?r[n.id]:null},delete:function(t,e){if(void 0!==t.key){var n=t.key;n.key===e&&(delete r[n.id],delete t.key)}}}),T=function(t,e,n){k.set(t,e,n)},L=function(t,e){return k.get(t,e)},C=function(t,e){k.delete(t,e)},A=Element.prototype.querySelectorAll,S=Element.prototype.querySelector,O=(l=new CustomEvent("Bootstrap",{cancelable:!0}),(c=document.createElement("div")).addEventListener("Bootstrap",(function(){return null})),l.preventDefault(),c.dispatchEvent(l),l.defaultPrevented),D=/:scope\b/;(function(){var t=document.createElement("div");try{t.querySelectorAll(":scope *")}catch(t){return!1}return!0})()||(A=function(t){if(!D.test(t))return this.querySelectorAll(t);var e=Boolean(this.id);e||(this.id=u("scope"));var n=null;try{t=t.replace(D,"#"+this.id),n=this.querySelectorAll(t)}finally{e||this.removeAttribute("id")}return n},S=function(t){if(!D.test(t))return this.querySelector(t);var e=A.call(this,t);return void 0!==e[0]?e[0]:null});var I=E(),N=/[^.]*(?=\..*)\.|.*/,j=/\..*/,P=/::\d+$/,x={},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,x[e]=x[e]||{},x[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 i.oneOff&&q.off(t,o.type,n),n.apply(r,[o]);return null}}(t,n,i):function(t,e){return function n(i){return n.oneOff&&q.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 V(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 q={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];V(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(P,"");if(!l||e.indexOf(i)>-1){var o=h[n];V(t,c,a,o.originalHandler,o.delegationSelector)}}))}else{if(!c||!c[a])return;V(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&&I&&(i=I.Event(e,n),I(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(),O||Object.defineProperty(u,"defaultPrevented",{get:function(){return!0}})),l&&t.dispatchEvent(u),u.defaultPrevented&&void 0!==i&&i.preventDefault(),u}},z="alert",K=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=this._element;t&&(e=this._getRootElement(t));var 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 q.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);q.one(t,"transitionend",(function(){return e._destroyElement(t)})),_(t,n)}else this._destroyElement(t)},e._destroyElement=function(t){t.parentNode&&t.parentNode.removeChild(t),q.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")},n(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}}]),t}();q.on(document,"click.bs.alert.data-api",'[data-dismiss="alert"]',K.handleDismiss(new K));var X=E();if(X){var Y=X.fn[z];X.fn[z]=K.jQueryInterface,X.fn[z].Constructor=K,X.fn[z].noConflict=function(){return X.fn[z]=Y,K.jQueryInterface}}var $=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(){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")},n(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}}]),t}();q.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(),T(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)q.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(){q.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(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&&q.on(this._element,"keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&(q.on(this._element,"mouseenter.bs.carousel",(function(e){return t.pause(e)})),q.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){q.on(t,"dragstart.bs.carousel",(function(t){return t.preventDefault()}))})),this._pointerEvent?(q.on(this._element,"pointerdown.bs.carousel",(function(t){return e(t)})),q.on(this._element,"pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(q.on(this._element,"touchstart.bs.carousel",(function(t){return e(t)})),q.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)})),q.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 q.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);q.one(r,"transitionend",(function(){l.classList.remove(n,i),l.classList.add("active"),r.classList.remove("active",i,n),s._isSliding=!1,setTimeout((function(){q.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,q.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(s({},st),et.getDataAttributes(e));"object"==typeof n&&(o=s(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(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")},n(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return st}}]),t}();q.on(document,"click.bs.carousel.data-api","[data-slide], [data-slide-to]",lt.dataApiClickHandler),q.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(),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=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(!q.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=g(this._element);q.one(this._element,"transitionend",(function(){e._element.classList.remove("collapsing"),e._element.classList.add("collapse","show"),e._element.style[r]="",e.setTransitioning(!1),q.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")&&!q.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);q.one(this._element,"transitionend",(function(){t.setTransitioning(!1),t._element.classList.remove("collapsing"),t._element.classList.add("collapse"),q.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(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){var n=t.classList.contains("show");e.length&&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(s(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")},n(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return ft}}]),t}();q.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 e(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 i=e.prototype;return i.toggle=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")){var t=this._element.classList.contains("show");e.clearMenus(),t||this.show()}},i.show=function(){if(!(this._element.disabled||this._element.classList.contains("disabled")||this._menu.classList.contains("show"))){var n=e.getParentFromElement(this._element),i={relatedTarget:this._element};if(!q.trigger(this._element,"show.bs.dropdown",i).defaultPrevented){if(!this._inNavbar){if(void 0===t)throw new TypeError("Bootstrap's dropdowns require Popper.js (https://popper.js.org)");var o=this._element;"parent"===this._config.reference?o=n:m(this._config.reference)&&(o=this._config.reference,void 0!==this._config.reference.jquery&&(o=this._config.reference[0])),"scrollParent"!==this._config.boundary&&n.classList.add("position-static"),this._popper=new t(o,this._menu,this._getPopperConfig())}var s;if("ontouchstart"in document.documentElement&&!n.closest(".navbar-nav"))(s=[]).concat.apply(s,document.body.children).forEach((function(t){return q.on(t,"mouseover",null,(function(){}))}));this._element.focus(),this._element.setAttribute("aria-expanded",!0),et.toggleClass(this._menu,"show"),et.toggleClass(this._element,"show"),q.trigger(n,"shown.bs.dropdown",i)}}},i.hide=function(){if(!this._element.disabled&&!this._element.classList.contains("disabled")&&this._menu.classList.contains("show")){var t=e.getParentFromElement(this._element),n={relatedTarget:this._element};q.trigger(t,"hide.bs.dropdown",n).defaultPrevented||(this._popper&&this._popper.destroy(),et.toggleClass(this._menu,"show"),et.toggleClass(this._element,"show"),q.trigger(t,"hidden.bs.dropdown",n))}},i.dispose=function(){C(this._element,"bs.dropdown"),q.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;q.on(this._element,"click.bs.dropdown",(function(e){e.preventDefault(),e.stopPropagation(),t.toggle()}))},i._getConfig=function(t){return t=s(s(s({},this.constructor.Default),et.getDataAttributes(this._element)),t),v(_t,t,this.constructor.DefaultType),t},i._getMenuElement=function(){return nt.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=s(s({},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}),s(s({},t),this._config.popperConfig)},e.dropdownInterface=function(t,n){var i=L(t,"bs.dropdown");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||2!==t.button&&("keyup"!==t.type||"Tab"===t.key))for(var n=nt.find('[data-toggle="dropdown"]'),i=0,o=n.length;i<o;i++){var s=e.getParentFromElement(n[i]),r=L(n[i],"bs.dropdown"),a={relatedTarget:n[i]};if(t&&"click"===t.type&&(a.clickEvent=t),r){var l=r._menu;if(n[i].classList.contains("show"))if(!(t&&("click"===t.type&&/input|textarea/i.test(t.target.tagName)||"keyup"===t.type&&"Tab"===t.key)&&l.contains(t.target)))if(!q.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 q.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"),q.trigger(s,"hidden.bs.dropdown",a)}}}},e.getParentFromElement=function(t){return d(t)||t.parentNode},e.dataApiKeydownHandler=function(t){if(!(/input|textarea/i.test(t.target.tagName)?"Space"===t.key||"Escape"!==t.key&&("ArrowDown"!==t.key&&"ArrowUp"!==t.key||t.target.closest(".dropdown-menu")):!vt.test(t.key))&&(t.preventDefault(),t.stopPropagation(),!this.disabled&&!this.classList.contains("disabled"))){var n=e.getParentFromElement(this),i=this.classList.contains("show");if("Escape"===t.key)return(this.matches('[data-toggle="dropdown"]')?this:nt.prev(this,'[data-toggle="dropdown"]')[0]).focus(),void e.clearMenus();if(i&&"Space"!==t.key){var o=nt.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",n).filter(b);if(o.length){var s=o.indexOf(t.target);"ArrowUp"===t.key&&s>0&&s--,"ArrowDown"===t.key&&s<o.length-1&&s++,o[s=-1===s?0:s].focus()}}else e.clearMenus()}},e.getInstance=function(t){return L(t,"bs.dropdown")},n(e,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return bt}},{key:"DefaultType",get:function(){return yt}}]),e}();q.on(document,"keydown.bs.dropdown.data-api",'[data-toggle="dropdown"]',wt.dataApiKeydownHandler),q.on(document,"keydown.bs.dropdown.data-api",".dropdown-menu",wt.dataApiKeydownHandler),q.on(document,"click.bs.dropdown.data-api",wt.clearMenus),q.on(document,"keyup.bs.dropdown.data-api",wt.clearMenus),q.on(document,"click.bs.dropdown.data-api",'[data-toggle="dropdown"]',(function(t){t.preventDefault(),t.stopPropagation(),wt.dropdownInterface(this,"toggle")})),q.on(document,"click.bs.dropdown.data-api",".dropdown form",(function(t){return t.stopPropagation()}));var Et=E();if(Et){var kt=Et.fn[_t];Et.fn[_t]=wt.jQueryInterface,Et.fn[_t].Constructor=wt,Et.fn[_t].noConflict=function(){return Et.fn[_t]=kt,wt.jQueryInterface}}var Tt={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,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=q.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(),q.on(this._element,"click.dismiss.bs.modal",'[data-dismiss="modal"]',(function(t){return e.hide(t)})),q.on(this._dialog,"mousedown.dismiss.bs.modal",(function(){q.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)&&!q.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(),q.off(document,"focusin.bs.modal"),this._element.classList.remove("show"),q.off(this._element,"click.dismiss.bs.modal"),q.off(this._dialog,"mousedown.dismiss.bs.modal"),n){var i=g(this._element);q.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 q.off(t,".bs.modal")})),q.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(s({},Tt),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,q.trigger(e._element,"shown.bs.modal",{relatedTarget:t})};if(n){var s=g(this._dialog);q.one(this._dialog,"transitionend",o),_(this._dialog,s)}else o()},e._enforceFocus=function(){var t=this;q.off(document,"focusin.bs.modal"),q.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?q.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()})):q.off(this._element,"keydown.dismiss.bs.modal")},e._setResizeEvent=function(){var t=this;this._isShown?q.on(window,"resize.bs.modal",(function(){return t._adjustDialog()})):q.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(),q.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),q.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);q.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);q.one(this._backdrop,"transitionend",o),_(this._backdrop,s)}else o()}else t()},e._triggerBackdropTransition=function(){var t=this;if("static"===this._config.backdrop){if(q.trigger(this._element,"hidePrevented.bs.modal").defaultPrevented)return;this._element.classList.add("modal-static");var e=g(this._element);q.one(this._element,"transitionend",(function(){t._element.classList.remove("modal-static")})),_(this._element,e),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(s(s({},Tt),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")},n(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return Tt}}]),t}();q.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(),q.one(n,"show.bs.modal",(function(t){t.defaultPrevented||q.one(n,"hidden.bs.modal",(function(){b(e)&&e.focus()}))}));var i=L(n,"bs.modal");if(!i){var o=s(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 Ot=["background","cite","href","itemtype","longdesc","poster","src","xlink:href"],Dt=/^(?:(?:https?|mailto|ftp|tel|file):|[^#&/:?]*(?:[#/?]|$))/gi,It=/^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===Ot.indexOf(n)||Boolean(t.nodeValue.match(Dt)||t.nodeValue.match(It));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 Pt="tooltip",xt=new RegExp("(^|\\s)bs-tooltip\\S+","g"),Rt=["sanitize","whiteList","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)",whiteList:"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,whiteList: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 e(e,n){if(void 0===t)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(n),this.tip=null,this._setListeners(),T(e,this.constructor.DATA_KEY,this)}var i=e.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=L(t.target,e);n||(n=new this.constructor(t.target,this._getDelegateConfig()),T(t.target,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),C(this.element,this.constructor.DATA_KEY),q.off(this.element,this.constructor.EVENT_KEY),q.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 e=this;if("none"===this.element.style.display)throw new Error("Please use show on visible elements");if(this.isWithContent()&&this._isEnabled){var n=q.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(n.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(T(s,this.constructor.DATA_KEY,this),this.element.ownerDocument.documentElement.contains(this.tip)||h.appendChild(s),q.trigger(this.element,this.constructor.Event.INSERTED),this._popper=new t(this.element,s,this._getPopperConfig(l)),s.classList.add("show"),"ontouchstart"in document.documentElement)(c=[]).concat.apply(c,document.body.children).forEach((function(t){q.on(t,"mouseover",(function(){}))}));var f=function(){e.config.animation&&e._fixTransition();var t=e._hoverState;e._hoverState=null,q.trigger(e.element,e.constructor.Event.SHOWN),"out"===t&&e._leave(null,e)};if(this.tip.classList.contains("fade")){var d=g(this.tip);q.one(this.tip,"transitionend",f),_(this.tip,d)}else f()}},i.hide=function(){var t=this,e=this.getTipElement(),n=function(){"show"!==t._hoverState&&e.parentNode&&e.parentNode.removeChild(e),t._cleanTipClass(),t.element.removeAttribute("aria-describedby"),q.trigger(t.element,t.constructor.Event.HIDDEN),t._popper.destroy()};if(!q.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 q.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);q.one(e,"transitionend",n),_(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(nt.findOne(".tooltip-inner",t),this.getTitle()),t.classList.remove("fade","show")},i.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.whiteList,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 s(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)},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=s(s({},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:m(this.config.container)?this.config.container:nt.findOne(this.config.container)},i._getAttachment=function(t){return Bt[t.toUpperCase()]},i._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)q.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;q.on(t.element,n,t.config.selector,(function(e){return t._enter(e)})),q.on(t.element,i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},q.on(this.element.closest(".modal"),"hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=s(s({},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||L(t.target,n))||(e=new this.constructor(t.target,this._getDelegateConfig()),T(t.target,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||L(t.target,n))||(e=new this.constructor(t.target,this._getDelegateConfig()),T(t.target,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=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(s(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(Pt,t,this.constructor.DefaultType),t.sanitize&&(t.template=jt(t.template,t.whiteList,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(xt);null!==e&&e.length>0&&e.map((function(t){return t.trim()})).forEach((function(e){return t.classList.remove(e)}))},i._handlePopperPlacementChange=function(t){var e=t.instance;this.tip=e.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)},e.jQueryInterface=function(t){return this.each((function(){var n=L(this,"bs.tooltip"),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(t){return L(t,"bs.tooltip")},n(e,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return Mt}},{key:"NAME",get:function(){return Pt}},{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}}]),e}(),Ft=E();if(Ft){var Wt=Ft.fn[Pt];Ft.fn[Pt]=Ut.jQueryInterface,Ft.fn[Pt].Constructor=Ut,Ft.fn[Pt].noConflict=function(){return Ft.fn[Pt]=Wt,Ut.jQueryInterface}}var Vt="popover",qt=new RegExp("(^|\\s)bs-popover\\S+","g"),zt=s(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>'}),Kt=s(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,i;function o(){return t.apply(this,arguments)||this}i=t,(e=o).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i;var s=o.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(qt);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=L(this,"bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new o(this,n),T(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 L(t,"bs.popover")},n(o,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return zt}},{key:"NAME",get:function(){return Vt}},{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 Kt}}]),o}(Ut),$t=E();if($t){var Gt=$t.fn[Vt];$t.fn[Vt]=Yt.jQueryInterface,$t.fn[Vt].Constructor=Yt,$t.fn[Vt].noConflict=function(){return $t.fn[Vt]=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,q.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(),nt.find(this._selector).map((function(t){var e,o=f(t);if(o&&(e=nt.findOne(o)),e){var s=e.getBoundingClientRect();if(s.width||s.height)return[et[n](e).top+i,o]}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"),q.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(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")}))}))}))),q.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")},n(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{key:"Default",get:function(){return Jt}}]),t}();q.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,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=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=q.trigger(e,"hide.bs.tab",{relatedTarget:this._element})),!(q.trigger(this._element,"show.bs.tab",{relatedTarget:e}).defaultPrevented||null!==s&&s.defaultPrevented)){this._activate(this._element,i);var r=function(){q.trigger(e,"hidden.bs.tab",{relatedTarget:t._element}),q.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"),q.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")},n(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}}]),t}();q.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:500},ce=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(!q.trigger(this._element,"show.bs.toast").defaultPrevented){this._config.animation&&this._element.classList.add("fade");var e=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),q.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);q.one(this._element,"transitionend",e),_(this._element,n)}else e()}},e.hide=function(){var t=this;if(this._element.classList.contains("show")&&!q.trigger(this._element,"hide.bs.toast").defaultPrevented){var e=function(){t._element.classList.add("hide"),q.trigger(t._element,"hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=g(this._element);q.one(this._element,"transitionend",e),_(this._element,n)}else e()}},e.dispose=function(){clearTimeout(this._timeout),this._timeout=null,this._element.classList.contains("show")&&this._element.classList.remove("show"),q.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(s(s({},le),et.getDataAttributes(this._element)),"object"==typeof t&&t?t:{}),v("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;q.on(this._element,"click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},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")},n(t,null,[{key:"VERSION",get:function(){return"5.0.0-alpha1"}},{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:K,Button:$,Carousel:lt,Collapse:gt,Dropdown:wt,Modal:Ct,Popover:Yt,ScrollSpy:ee,Tab:oe,Toast:ce,Tooltip:Ut}}));
//# 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 fef4a4c88b..428c441975 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/dom/selector-engine.js","../../js/src/button.js","../../js/src/dom/manipulator.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","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","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","SelectorEngine","_ref","documentElement","concat","findFn","children","_ref2","filter","child","parents","ancestor","Node","ELEMENT_NODE","push","prev","previous","previousElementSibling","next","nextElementSibling","Button","toggle","triggerChangeEvent","addAriaPressed","input","checked","activeElement","focus","setAttribute","button","add","normalizeData","val","Number","normalizeDataKey","chr","Manipulator","setDataAttribute","removeDataAttribute","getDataAttributes","attributes","_objectSpread2","dataset","getDataAttribute","offset","rect","getBoundingClientRect","top","scrollTop","left","scrollLeft","position","offsetTop","offsetLeft","toggleClass","className","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","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","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","modalTransitionDuration","isModalOverflowing","scrollHeight","clientHeight","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","DefaultWhitelist","*","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","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","elements","_loop","el","elName","nodeName","attributeList","whitelistedAttributes","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","popperInstance","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"],"mappings":";;;;;osCAOA,ICOQA,EACFC,ECCEC,EAIAC,EFMFC,EAAS,SAAAC,GACb,GACEA,GAAUC,KAAKC,MArBH,IAqBSD,KAAKE,gBACnBC,SAASC,eAAeL,IAEjC,OAAOA,GAGHM,EAAc,SAAAR,GAClB,IAAIS,EAAWT,EAAQU,aAAa,eAEpC,IAAKD,GAAyB,MAAbA,EAAkB,CACjC,IAAME,EAAWX,EAAQU,aAAa,QAEtCD,EAAWE,GAAyB,MAAbA,EAAmBA,EAASC,OAAS,KAG9D,OAAOH,GAGHI,EAAyB,SAAAb,GAC7B,IAAMS,EAAWD,EAAYR,GAE7B,OAAIS,GACKH,SAASQ,cAAcL,GAAYA,EAGrC,MAGHM,EAAyB,SAAAf,GAC7B,IAAMS,EAAWD,EAAYR,GAE7B,OAAOS,EAAWH,SAASQ,cAAcL,GAAY,MAGjDO,EAAmC,SAAAhB,GACvC,IAAKA,EACH,OAAO,EAFyC,IAAAiB,EAS9CC,OAAOC,iBAAiBnB,GAF1BoB,EAPgDH,EAOhDG,mBACAC,EARgDJ,EAQhDI,gBAGIC,EAA0BC,WAAWH,GACrCI,EAAuBD,WAAWF,GAGxC,OAAKC,GAA4BE,GAKjCJ,EAAqBA,EAAmBK,MAAM,KAAK,GACnDJ,EAAkBA,EAAgBI,MAAM,KAAK,GA3Ef,KA6EtBF,WAAWH,GAAsBG,WAAWF,KAP3C,GAULK,EAAuB,SAAA1B,GAC3BA,EAAQ2B,cAAc,IAAIC,MAhFL,mBAmFjBC,EAAY,SAAAC,GAAG,OAAKA,EAAI,IAAMA,GAAKC,UAEnCC,EAAuB,SAAChC,EAASiC,GACrC,IAAIC,GAAS,EAEPC,EAAmBF,EADD,EAOxBjC,EAAQoC,iBA9Fa,iBAyFrB,SAASC,IACPH,GAAS,EACTlC,EAAQsC,oBA3FW,gBA2FyBD,MAI9CE,YAAW,WACJL,GACHR,EAAqB1B,KAEtBmC,IAGCK,EAAkB,SAACC,EAAeC,EAAQC,GAC9CC,OAAOC,KAAKF,GACTG,SAAQ,SAAAC,GACP,IAtGSjB,EAsGHkB,EAAgBL,EAAYI,GAC5BE,EAAQP,EAAOK,GACfG,EAAYD,GAASpB,EAAUoB,GACnC,UAxGFnB,OADSA,EA0GAmB,GAxGX,GAAUnB,EAGL,GAAGqB,SAASC,KAAKtB,GAAKuB,MAAM,eAAe,GAAGC,cAuGjD,IAAK,IAAIC,OAAOP,GAAeQ,KAAKN,GAClC,MAAM,IAAIO,MACLhB,EAAciB,cAAdjB,aACQM,EADX,oBACuCG,EADpCT,wBAEmBO,EAFtB,UAOJW,EAAY,SAAA3D,GAChB,IAAKA,EACH,OAAO,EAGT,GAAIA,EAAQ4D,OAAS5D,EAAQ6D,YAAc7D,EAAQ6D,WAAWD,MAAO,CACnE,IAAME,EAAe3C,iBAAiBnB,GAChC+D,EAAkB5C,iBAAiBnB,EAAQ6D,YAEjD,MAAgC,SAAzBC,EAAaE,SACU,SAA5BD,EAAgBC,SACY,WAA5BF,EAAaG,WAGjB,OAAO,GA0BHC,EAAO,WAAA,OAAM,cAEbC,EAAS,SAAAnE,GAAO,OAAIA,EAAQoE,cAE5BC,EAAY,WAAM,IACdC,EAAWpD,OAAXoD,OAER,OAAIA,IAAWhE,SAASiE,KAAKC,aAAa,kBACjCF,EAGF,MCvKHG,GACE5E,EAAY,GACdC,EAAK,EACF,CACL4E,IADK,SACD1E,EAAS2E,EAAKC,QACW,IAAhB5E,EAAQ2E,MACjB3E,EAAQ2E,IAAM,CACZA,IAAAA,EACA7E,GAAAA,GAEFA,KAGFD,EAAUG,EAAQ2E,IAAI7E,IAAM8E,GAE9BC,IAZK,SAYD7E,EAAS2E,GACX,IAAK3E,QAAkC,IAAhBA,EAAQ2E,IAC7B,OAAO,KAGT,IAAMG,EAAgB9E,EAAQ2E,IAC9B,OAAIG,EAAcH,MAAQA,EACjB9E,EAAUiF,EAAchF,IAG1B,MAETiF,OAxBK,SAwBE/E,EAAS2E,GACd,QAA2B,IAAhB3E,EAAQ2E,IAAnB,CAIA,IAAMG,EAAgB9E,EAAQ2E,IAC1BG,EAAcH,MAAQA,WACjB9E,EAAUiF,EAAchF,WACxBE,EAAQ2E,SAMjBK,EAAO,SACHC,EAAUN,EAAKC,GACrBH,EAAQC,IAAIO,EAAUN,EAAKC,IAFzBI,EAAO,SAIHC,EAAUN,GAChB,OAAOF,EAAQI,IAAII,EAAUN,IAL3BK,EAAO,SAOAC,EAAUN,GACnBF,EAAQM,OAAOE,EAAUN,ICnDzBO,EAAOC,QAAQC,UAAUC,iBACzBC,EAAUH,QAAQC,UAAUtE,cAG1ByE,GACExF,EAAI,IAAIyF,YAAY,YAAa,CACrCC,YAAY,KAGRzF,EAAUM,SAASoF,cAAc,QAC/BtD,iBAAiB,aAAa,WAAA,OAAM,QAE5CrC,EAAE4F,iBACF3F,EAAQ2B,cAAc5B,GACfA,EAAE6F,kBAGLC,EAAqB,YACA,WACzB,IAAM7F,EAAUM,SAASoF,cAAc,OAEvC,IACE1F,EAAQqF,iBAAiB,YACzB,MAAOS,GACP,OAAO,EAGT,OAAO,GATkB,KAazBZ,EAAO,SAAUzE,GACf,IAAKoF,EAAmBrC,KAAK/C,GAC3B,OAAOsF,KAAKV,iBAAiB5E,GAG/B,IAAMuF,EAAQC,QAAQF,KAAKjG,IAEtBkG,IACHD,KAAKjG,GAAKG,EAAO,UAGnB,IAAIiG,EAAW,KACf,IACEzF,EAAWA,EAAS0F,QAAQN,EAAjB,IAAyCE,KAAKjG,IACzDoG,EAAWH,KAAKV,iBAAiB5E,GAFnC,QAIOuF,GACHD,KAAKK,gBAAgB,MAIzB,OAAOF,GAGTZ,EAAU,SAAU7E,GAClB,IAAKoF,EAAmBrC,KAAK/C,GAC3B,OAAOsF,KAAKjF,cAAcL,GAG5B,IAAM4F,EAAUnB,EAAK9B,KAAK2C,KAAMtF,GAEhC,YAA0B,IAAf4F,EAAQ,GACVA,EAAQ,GAGV,OC7DX,IAAMC,EAAIjC,IACJkC,EAAiB,qBACjBC,EAAiB,OACjBC,EAAgB,SAChBC,EAAgB,GAClBC,EAAW,EACTC,EAAe,CACnBC,WAAY,YACZC,WAAY,YAERC,EAAe,CACnB,QACA,WACA,UACA,YACA,cACA,aACA,iBACA,YACA,WACA,YACA,cACA,YACA,UACA,WACA,QACA,oBACA,aACA,YACA,WACA,cACA,cACA,cACA,YACA,eACA,gBACA,eACA,gBACA,aACA,QACA,OACA,SACA,QACA,SACA,SACA,UACA,WACA,OACA,SACA,eACA,SACA,OACA,mBACA,mBACA,QACA,QACA,UASF,SAASC,EAAYhH,EAASiH,GAC5B,OAAQA,GAAUA,EAAP,KAAeN,KAAiB3G,EAAQ2G,UAAYA,IAGjE,SAASO,EAASlH,GAChB,IAAMiH,EAAMD,EAAYhH,GAKxB,OAHAA,EAAQ2G,SAAWM,EACnBP,EAAcO,GAAOP,EAAcO,IAAQ,GAEpCP,EAAcO,GAkCvB,SAASE,EAAYC,EAAQC,EAASC,QAA2B,IAA3BA,IAAAA,EAAqB,MAGzD,IAFA,IAAMC,EAAe3E,OAAOC,KAAKuE,GAExBI,EAAI,EAAGC,EAAMF,EAAaG,OAAQF,EAAIC,EAAKD,IAAK,CACvD,IAAMG,EAAQP,EAAOG,EAAaC,IAElC,GAAIG,EAAMC,kBAAoBP,GAAWM,EAAML,qBAAuBA,EACpE,OAAOK,EAIX,OAAO,KAGT,SAASE,EAAgBC,EAAmBT,EAASU,GACnD,IAAMC,EAAgC,iBAAZX,EACpBO,EAAkBI,EAAaD,EAAeV,EAGhDY,EAAYH,EAAkB3B,QAAQK,EAAgB,IACpD0B,EAAStB,EAAaqB,GAY5B,OAVIC,IACFD,EAAYC,GAGGnB,EAAaoB,QAAQF,IAAc,IAGlDA,EAAYH,GAGP,CAACE,EAAYJ,EAAiBK,GAGvC,SAASG,EAAWpI,EAAS8H,EAAmBT,EAASU,EAAcM,GACrE,GAAiC,iBAAtBP,GAAmC9H,EAA9C,CAIKqH,IACHA,EAAUU,EACVA,EAAe,MAP4D,IAAAO,EAU5BT,EAAgBC,EAAmBT,EAASU,GAAtFC,EAVsEM,EAAA,GAU1DV,EAV0DU,EAAA,GAUzCL,EAVyCK,EAAA,GAWvElB,EAASF,EAASlH,GAClBuI,EAAWnB,EAAOa,KAAeb,EAAOa,GAAa,IACrDO,EAAarB,EAAYoB,EAAUX,EAAiBI,EAAaX,EAAU,MAEjF,GAAImB,EACFA,EAAWH,OAASG,EAAWH,QAAUA,MAD3C,CAMA,IAAMpB,EAAMD,EAAYY,EAAiBE,EAAkB3B,QAAQI,EAAgB,KAC7EkC,EAAKT,EA9Eb,SAAoChI,EAASS,EAAUgI,GACrD,OAAO,SAASpB,EAAQM,GAGtB,IAFA,IAAMe,EAAc1I,EAAQqF,iBAAiB5E,GAElCkI,EAAWhB,EAAXgB,OAAkBA,GAAUA,IAAW5C,KAAM4C,EAASA,EAAO9E,WACtE,IAAK,IAAI2D,EAAIkB,EAAYhB,OAAQF,KAC/B,GAAIkB,EAAYlB,KAAOmB,EAKrB,OAJItB,EAAQgB,QACVO,EAAaC,IAAI7I,EAAS2H,EAAMmB,KAAML,GAGjCA,EAAGM,MAAMJ,EAAQ,CAAChB,IAM/B,OAAO,MA8DPqB,CAA2BhJ,EAASqH,EAASU,GAzFjD,SAA0B/H,EAASyI,GACjC,OAAO,SAASpB,EAAQM,GAKtB,OAJIN,EAAQgB,QACVO,EAAaC,IAAI7I,EAAS2H,EAAMmB,KAAML,GAGjCA,EAAGM,MAAM/I,EAAS,CAAC2H,KAoF1BsB,CAAiBjJ,EAASqH,GAE5BoB,EAAGnB,mBAAqBU,EAAaX,EAAU,KAC/CoB,EAAGb,gBAAkBA,EACrBa,EAAGJ,OAASA,EACZI,EAAG9B,SAAWM,EACdsB,EAAStB,GAAOwB,EAEhBzI,EAAQoC,iBAAiB6F,EAAWQ,EAAIT,KAG1C,SAASkB,EAAclJ,EAASoH,EAAQa,EAAWZ,EAASC,GAC1D,IAAMmB,EAAKtB,EAAYC,EAAOa,GAAYZ,EAASC,GAE9CmB,IAILzI,EAAQsC,oBAAoB2F,EAAWQ,EAAIxC,QAAQqB,WAC5CF,EAAOa,GAAWQ,EAAG9B,WAgB9B,IAAMiC,EAAe,CACnBO,GADmB,SAChBnJ,EAAS2H,EAAON,EAASU,GAC1BK,EAAWpI,EAAS2H,EAAON,EAASU,GAAc,IAGpDqB,IALmB,SAKfpJ,EAAS2H,EAAON,EAASU,GAC3BK,EAAWpI,EAAS2H,EAAON,EAASU,GAAc,IAGpDc,IATmB,SASf7I,EAAS8H,EAAmBT,EAASU,GACvC,GAAiC,iBAAtBD,GAAmC9H,EAA9C,CADqD,IAAAqJ,EAKJxB,EAAgBC,EAAmBT,EAASU,GAAtFC,EAL8CqB,EAAA,GAKlCzB,EALkCyB,EAAA,GAKjBpB,EALiBoB,EAAA,GAM/CC,EAAcrB,IAAcH,EAC5BV,EAASF,EAASlH,GAClBuJ,EAA8C,MAAhCzB,EAAkB0B,OAAO,GAE7C,QAA+B,IAApB5B,EAAX,CAUI2B,GACF3G,OAAOC,KAAKuE,GACTtE,SAAQ,SAAA2G,IA5CjB,SAAkCzJ,EAASoH,EAAQa,EAAWyB,GAC5D,IAAMC,EAAoBvC,EAAOa,IAAc,GAE/CrF,OAAOC,KAAK8G,GACT7G,SAAQ,SAAA8G,GACP,GAAIA,EAAWzB,QAAQuB,IAAc,EAAG,CACtC,IAAM/B,EAAQgC,EAAkBC,GAEhCV,EAAclJ,EAASoH,EAAQa,EAAWN,EAAMC,gBAAiBD,EAAML,wBAqCrEuC,CAAyB7J,EAASoH,EAAQqC,EAAc3B,EAAkBgC,MAAM,OAItF,IAAMH,EAAoBvC,EAAOa,IAAc,GAC/CrF,OAAOC,KAAK8G,GACT7G,SAAQ,SAAAiH,GACP,IAAMH,EAAaG,EAAY5D,QAAQM,EAAe,IAEtD,IAAK6C,GAAexB,EAAkBK,QAAQyB,IAAe,EAAG,CAC9D,IAAMjC,EAAQgC,EAAkBI,GAEhCb,EAAclJ,EAASoH,EAAQa,EAAWN,EAAMC,gBAAiBD,EAAML,4BAzB7E,CAEE,IAAKF,IAAWA,EAAOa,GACrB,OAGFiB,EAAclJ,EAASoH,EAAQa,EAAWL,EAAiBI,EAAaX,EAAU,SAwBtF2C,QAjDmB,SAiDXhK,EAAS2H,EAAOsC,GACtB,GAAqB,iBAAVtC,IAAuB3H,EAChC,OAAO,KAGT,IAIIkK,EAJEjC,EAAYN,EAAMxB,QAAQK,EAAgB,IAC1C8C,EAAc3B,IAAUM,EACxBkC,EAAWpD,EAAaoB,QAAQF,IAAc,EAGhDmC,GAAU,EACVC,GAAiB,EACjBzE,GAAmB,EACnB0E,EAAM,KAmDV,OAjDIhB,GAAehD,IACjB4D,EAAc5D,EAAE1E,MAAM+F,EAAOsC,GAE7B3D,EAAEtG,GAASgK,QAAQE,GACnBE,GAAWF,EAAYK,uBACvBF,GAAkBH,EAAYM,gCAC9B5E,EAAmBsE,EAAYO,sBAG7BN,GACFG,EAAMhK,SAASoK,YAAY,eACvBC,UAAU1C,EAAWmC,GAAS,GAElCE,EAAM,IAAI9E,YAAYmC,EAAO,CAC3ByC,QAAAA,EACA3E,YAAY,SAKI,IAATwE,GACTrH,OAAOC,KAAKoH,GACTnH,SAAQ,SAAA6B,GACP/B,OAAOgI,eAAeN,EAAK3F,EAAK,CAC9BE,IAD8B,WAE5B,OAAOoF,EAAKtF,SAMlBiB,IACF0E,EAAI3E,iBAECJ,GACH3C,OAAOgI,eAAeN,EAAK,mBAAoB,CAC7CzF,IAAK,WAAA,OAAM,MAKbwF,GACFrK,EAAQ2B,cAAc2I,GAGpBA,EAAI1E,uBAA2C,IAAhBsE,GACjCA,EAAYvE,iBAGP2E,ICrTLO,EAAO,QAsBPC,EAAAA,WACJ,SAAAA,EAAY9K,GACV+F,KAAKgF,SAAW/K,EAEZ+F,KAAKgF,UACP/F,EAAahF,EAzBF,WAyBqB+F,iCAYpCiF,MAAA,SAAMhL,GACJ,IAAIiL,EAAclF,KAAKgF,SACnB/K,IACFiL,EAAclF,KAAKmF,gBAAgBlL,IAGrC,IAAMmL,EAAcpF,KAAKqF,mBAAmBH,GAExB,OAAhBE,GAAwBA,EAAYvF,kBAIxCG,KAAKsF,eAAeJ,MAGtBK,QAAA,WACEtG,EAAgBe,KAAKgF,SArDR,YAsDbhF,KAAKgF,SAAW,QAKlBG,gBAAA,SAAgBlL,GACd,OAAOe,EAAuBf,IAAYA,EAAQuL,QAAR,aAG5CH,mBAAA,SAAmBpL,GACjB,OAAO4I,EAAaoB,QAAQhK,EA1Df,qBA6DfqL,eAAA,SAAerL,GAAS,IAAAwL,EAAAzF,KAGtB,GAFA/F,EAAQyL,UAAUC,OAxDC,QA0Dd1L,EAAQyL,UAAUE,SA3DJ,QA2DnB,CAKA,IAAMvK,EAAqBJ,EAAiChB,GAE5D4I,EACGQ,IAAIpJ,EJ9FY,iBI8Fa,WAAA,OAAMwL,EAAKI,gBAAgB5L,MAC3DgC,EAAqBhC,EAASoB,QAR5B2E,KAAK6F,gBAAgB5L,MAWzB4L,gBAAA,SAAgB5L,GACVA,EAAQ6D,YACV7D,EAAQ6D,WAAWgI,YAAY7L,GAGjC4I,EAAaoB,QAAQhK,EAhFP,sBAqFT8L,gBAAP,SAAuBpJ,GACrB,OAAOqD,KAAKgG,MAAK,WACf,IAAInH,EAAOI,EAAae,KA9Fb,YAgGNnB,IACHA,EAAO,IAAIkG,EAAM/E,OAGJ,UAAXrD,GACFkC,EAAKlC,GAAQqD,YAKZiG,cAAP,SAAqBC,GACnB,OAAO,SAAUtE,GACXA,GACFA,EAAMhC,iBAGRsG,EAAcjB,MAAMjF,UAIjBmG,YAAP,SAAmBlM,GACjB,OAAOgF,EAAahF,EArHP,qDAgCb,MAjCY,qBAqBV8K,GA0GNlC,EACGO,GAAG7I,SAvHoB,0BAJD,yBA2H+BwK,EAAMkB,cAAc,IAAIlB,IAEhF,IAAMxE,EAAIjC,IAUV,GAAIiC,EAAG,CACL,IAAM6F,EAAqB7F,EAAEmC,GAAGoC,GAChCvE,EAAEmC,GAAGoC,GAAQC,EAAMgB,gBACnBxF,EAAEmC,GAAGoC,GAAMuB,YAActB,EACzBxE,EAAEmC,GAAGoC,GAAMwB,WAAa,WAEtB,OADA/F,EAAEmC,GAAGoC,GAAQsB,EACNrB,EAAMgB,iBC3JjB,IAEMQ,EAAiB,CACrBjG,QADqB,SACbrG,EAASS,GACf,OAAOT,EAAQqG,QAAQ5F,IAGzByE,KALqB,SAKhBzE,EAAUT,GAAoC,IAAAuM,EACjD,YADiD,IAApCvM,IAAAA,EAAUM,SAASkM,kBACzBD,EAAA,IAAGE,OAAH1D,MAAAwD,EAAaG,EAAOtJ,KAAKpD,EAASS,KAG3C6E,QATqB,SASb7E,EAAUT,GAChB,YADoD,IAApCA,IAAAA,EAAUM,SAASkM,iBAC5BlH,EAAQlC,KAAKpD,EAASS,IAG/BkM,SAbqB,SAaZ3M,EAASS,GAAU,IAAAmM,EACpBD,GAAWC,EAAA,IAAGH,OAAH1D,MAAA6D,EAAa5M,EAAQ2M,UAEtC,OAAOA,EAASE,QAAO,SAAAC,GAAK,OAAIA,EAAMzG,QAAQ5F,OAGhDsM,QAnBqB,SAmBb/M,EAASS,GAKf,IAJA,IAAMsM,EAAU,GAEZC,EAAWhN,EAAQ6D,WAEhBmJ,GAAYA,EAASjL,WAAakL,KAAKC,cA1BhC,IA0BgDF,EAASjL,UACjEgE,KAAKM,QAAQ2G,EAAUvM,IACzBsM,EAAQI,KAAKH,GAGfA,EAAWA,EAASnJ,WAGtB,OAAOkJ,GAGTK,KAnCqB,SAmChBpN,EAASS,GAGZ,IAFA,IAAI4M,EAAWrN,EAAQsN,uBAEhBD,GAAU,CACf,GAAIA,EAAShH,QAAQ5F,GACnB,MAAO,CAAC4M,GAGVA,EAAWA,EAASC,uBAGtB,MAAO,IAGTC,KAjDqB,SAiDhBvN,EAASS,GAGZ,IAFA,IAAI8M,EAAOvN,EAAQwN,mBAEZD,GAAM,CACX,GAAIxH,KAAKM,QAAQkH,EAAM9M,GACrB,MAAO,CAAC8M,GAGVA,EAAOA,EAAKC,mBAGd,MAAO,KCjCLC,EAAAA,WACJ,SAAAA,EAAYzN,GACV+F,KAAKgF,SAAW/K,EAChBgF,EAAahF,EA3BA,YA2BmB+F,iCAWlC2H,OAAA,WACE,IAAIC,GAAqB,EACrBC,GAAiB,EAEf3C,EAAclF,KAAKgF,SAASQ,QAjCT,2BAmCzB,GAAIN,EAAa,CACf,IAAM4C,EAAQvB,EAAehH,QAnCZ,6BAmCoCS,KAAKgF,UAE1D,GAAI8C,GAAwB,UAAfA,EAAM/E,KAAkB,CACnC,GAAI+E,EAAMC,SACR/H,KAAKgF,SAASU,UAAUE,SA7CR,UA8ChBgC,GAAqB,MAChB,CACL,IAAMI,EAAgBzB,EAAehH,QAzCvB,UAyCgD2F,GAE1D8C,GACFA,EAActC,UAAUC,OAnDV,UAuDlB,GAAIiC,EAAoB,CACtB,GAAIE,EAAMrJ,aAAa,aACrByG,EAAYzG,aAAa,aACzBqJ,EAAMpC,UAAUE,SAzDA,aA0DhBV,EAAYQ,UAAUE,SA1DN,YA2DhB,OAGFkC,EAAMC,SAAW/H,KAAKgF,SAASU,UAAUE,SA/DzB,UAgEhB/C,EAAaoB,QAAQ6D,EAAO,UAG9BA,EAAMG,QACNJ,GAAiB,GAIjBA,GACF7H,KAAKgF,SAASkD,aAAa,gBACxBlI,KAAKgF,SAASU,UAAUE,SA1EP,WA6ElBgC,GACF5H,KAAKgF,SAASU,UAAUiC,OA9EJ,aAkFxBpC,QAAA,WACEtG,EAAgBe,KAAKgF,SAvFR,aAwFbhF,KAAKgF,SAAW,QAKXe,gBAAP,SAAuBpJ,GACrB,OAAOqD,KAAKgG,MAAK,WACf,IAAInH,EAAOI,EAAae,KA/Fb,aAiGNnB,IACHA,EAAO,IAAI6I,EAAO1H,OAGL,WAAXrD,GACFkC,EAAKlC,WAKJwJ,YAAP,SAAmBlM,GACjB,OAAOgF,EAAahF,EA5GP,sDAiCb,MAlCY,qBAyBVyN,GA8FN7E,EAAaO,GAAG7I,SAxGU,2BANU,2BA8GyC,SAAAqH,GAC3EA,EAAMhC,iBAEN,IAAMuI,EAASvG,EAAMgB,OAAO4C,QA7GN,QA+GlB3G,EAAOI,EAAakJ,EA3HT,aA4HVtJ,IACHA,EAAO,IAAI6I,EAAOS,IAGpBtJ,EAAK8I,YAGP9E,EAAaO,GAAG7I,SApHU,2BAPU,2BA2HyC,SAAAqH,GAC3E,IAAMuG,EAASvG,EAAMgB,OAAO4C,QAxHN,QA0HlB2C,GACFA,EAAOzC,UAAU0C,IAjII,YAqIzBvF,EAAaO,GAAG7I,SA3HS,0BARW,2BAmIwC,SAAAqH,GAC1E,IAAMuG,EAASvG,EAAMgB,OAAO4C,QAhIN,QAkIlB2C,GACFA,EAAOzC,UAAUC,OAzII,YA6IzB,IAAMpF,EAAIjC,IASV,GAAIiC,EAAG,CACL,IAAM6F,EAAqB7F,EAAEmC,GAAF,OAC3BnC,EAAEmC,GAAF,OAAagF,EAAO3B,gBACpBxF,EAAEmC,GAAF,OAAW2D,YAAcqB,EAEzBnH,EAAEmC,GAAF,OAAW4D,WAAa,WAEtB,OADA/F,EAAEmC,GAAF,OAAa0D,EACNsB,EAAO3B,iBChLlB,SAASsC,GAAcC,GACrB,MAAY,SAARA,GAIQ,UAARA,IAIAA,IAAQC,OAAOD,GAAKlL,WACfmL,OAAOD,GAGJ,KAARA,GAAsB,SAARA,EACT,KAGFA,GAGT,SAASE,GAAiB5J,GACxB,OAAOA,EAAIwB,QAAQ,UAAU,SAAAqI,GAAG,MAAA,IAAQA,EAAIlL,iBAG9C,IAAMmL,GAAc,CAClBC,iBADkB,SACD1O,EAAS2E,EAAK1B,GAC7BjD,EAAQiO,aAAR,QAA6BM,GAAiB5J,GAAQ1B,IAGxD0L,oBALkB,SAKE3O,EAAS2E,GAC3B3E,EAAQoG,gBAAR,QAAgCmI,GAAiB5J,KAGnDiK,kBATkB,SASA5O,GAChB,IAAKA,EACH,MAAO,GAGT,IAAM6O,EAAUC,EAAA,GACX9O,EAAQ+O,SAOb,OAJAnM,OAAOC,KAAKgM,GAAY/L,SAAQ,SAAA6B,GAC9BkK,EAAWlK,GAAOyJ,GAAcS,EAAWlK,OAGtCkK,GAGTG,iBAzBkB,SAyBDhP,EAAS2E,GACxB,OAAOyJ,GAAcpO,EAAQU,aAAR,QAA6B6N,GAAiB5J,MAGrEsK,OA7BkB,SA6BXjP,GACL,IAAMkP,EAAOlP,EAAQmP,wBAErB,MAAO,CACLC,IAAKF,EAAKE,IAAM9O,SAASiE,KAAK8K,UAC9BC,KAAMJ,EAAKI,KAAOhP,SAASiE,KAAKgL,aAIpCC,SAtCkB,SAsCTxP,GACP,MAAO,CACLoP,IAAKpP,EAAQyP,UACbH,KAAMtP,EAAQ0P,aAIlBC,YA7CkB,SA6CN3P,EAAS4P,GACd5P,IAIDA,EAAQyL,UAAUE,SAASiE,GAC7B5P,EAAQyL,UAAUC,OAAOkE,GAEzB5P,EAAQyL,UAAU0C,IAAIyB,MCvDtB/E,GAAO,WAGPgF,GAAS,eAQTC,GAAU,CACdC,SAAU,IACVC,UAAU,EACVC,OAAO,EACPC,MAAO,QACPC,MAAM,EACNC,OAAO,GAGHC,GAAc,CAClBN,SAAU,mBACVC,SAAU,UACVC,MAAO,mBACPC,MAAO,mBACPC,KAAM,UACNC,MAAO,WAwCHE,GAAc,CAClBC,MAAO,QACPC,IAAK,OAQDC,GAAAA,WACJ,SAAAA,EAAYzQ,EAAS0C,GACnBqD,KAAK2K,OAAS,KACd3K,KAAK4K,UAAY,KACjB5K,KAAK6K,eAAiB,KACtB7K,KAAK8K,WAAY,EACjB9K,KAAK+K,YAAa,EAClB/K,KAAKgL,aAAe,KACpBhL,KAAKiL,YAAc,EACnBjL,KAAKkL,YAAc,EAEnBlL,KAAKmL,QAAUnL,KAAKoL,WAAWzO,GAC/BqD,KAAKgF,SAAW/K,EAChB+F,KAAKqL,mBAAqB9E,EAAehH,QA3BjB,uBA2B8CS,KAAKgF,UAC3EhF,KAAKsL,gBAAkB,iBAAkB/Q,SAASkM,iBAAmB8E,UAAUC,eAAiB,EAChGxL,KAAKyL,cAAgBvL,QAAQ/E,OAAOuQ,cAEpC1L,KAAK2L,qBACL1M,EAAahF,EA5FA,cA4FmB+F,iCAelCwH,KAAA,WACOxH,KAAK+K,YACR/K,KAAK4L,OAlFY,WAsFrBC,gBAAA,YAGOtR,SAASuR,QAAUlO,EAAUoC,KAAKgF,WACrChF,KAAKwH,UAITH,KAAA,WACOrH,KAAK+K,YACR/K,KAAK4L,OA/FY,WAmGrBzB,MAAA,SAAMvI,GACCA,IACH5B,KAAK8K,WAAY,GAGfvE,EAAehH,QAzEI,2CAyEwBS,KAAKgF,YAClDrJ,EAAqBqE,KAAKgF,UAC1BhF,KAAK+L,OAAM,IAGbC,cAAchM,KAAK4K,WACnB5K,KAAK4K,UAAY,QAGnBmB,MAAA,SAAMnK,GACCA,IACH5B,KAAK8K,WAAY,GAGf9K,KAAK4K,YACPoB,cAAchM,KAAK4K,WACnB5K,KAAK4K,UAAY,MAGf5K,KAAKmL,SAAWnL,KAAKmL,QAAQnB,WAAahK,KAAK8K,YACjD9K,KAAK4K,UAAYqB,aACd1R,SAAS2R,gBAAkBlM,KAAK6L,gBAAkB7L,KAAKwH,MAAM2E,KAAKnM,MACnEA,KAAKmL,QAAQnB,cAKnBoC,GAAA,SAAGC,GAAO,IAAA5G,EAAAzF,KACRA,KAAK6K,eAAiBtE,EAAehH,QAxGZ,wBAwG0CS,KAAKgF,UACxE,IAAMsH,EAActM,KAAKuM,cAAcvM,KAAK6K,gBAE5C,KAAIwB,EAAQrM,KAAK2K,OAAOhJ,OAAS,GAAK0K,EAAQ,GAI9C,GAAIrM,KAAK+K,WACPlI,EAAaQ,IAAIrD,KAAKgF,SAvIZ,oBAuIkC,WAAA,OAAMS,EAAK2G,GAAGC,UAD5D,CAKA,GAAIC,IAAgBD,EAGlB,OAFArM,KAAKmK,aACLnK,KAAK+L,QAIP,IAAMS,EAAYH,EAAQC,EAvJP,OACA,OA0JnBtM,KAAK4L,OAAOY,EAAWxM,KAAK2K,OAAO0B,QAGrC9G,QAAA,WACE1C,EAAaC,IAAI9C,KAAKgF,SAAU8E,IAChC7K,EAAgBe,KAAKgF,SA3LR,eA6LbhF,KAAK2K,OAAS,KACd3K,KAAKmL,QAAU,KACfnL,KAAKgF,SAAW,KAChBhF,KAAK4K,UAAY,KACjB5K,KAAK8K,UAAY,KACjB9K,KAAK+K,WAAa,KAClB/K,KAAK6K,eAAiB,KACtB7K,KAAKqL,mBAAqB,QAK5BD,WAAA,SAAWzO,GAMT,OALAA,EAAMoM,EAAAA,EAAA,GACDgB,IACApN,GAELF,EAAgBqI,GAAMnI,EAAQ2N,IACvB3N,KAGT8P,aAAA,WACE,IAAMC,EAAYtS,KAAKuS,IAAI3M,KAAKkL,aAEhC,KAAIwB,GA9MgB,IA8MpB,CAIA,IAAMF,EAAYE,EAAY1M,KAAKkL,YAEnClL,KAAKkL,YAAc,EAGfsB,EAAY,GACdxM,KAAKqH,OAIHmF,EAAY,GACdxM,KAAKwH,WAITmE,mBAAA,WAAqB,IAAAiB,EAAA5M,KACfA,KAAKmL,QAAQlB,UACfpH,EACGO,GAAGpD,KAAKgF,SAzME,uBAyMuB,SAAApD,GAAK,OAAIgL,EAAKC,SAASjL,MAGlC,UAAvB5B,KAAKmL,QAAQhB,QACftH,EACGO,GAAGpD,KAAKgF,SA7MK,0BA6MuB,SAAApD,GAAK,OAAIgL,EAAKzC,MAAMvI,MAC3DiB,EACGO,GAAGpD,KAAKgF,SA9MK,0BA8MuB,SAAApD,GAAK,OAAIgL,EAAKb,MAAMnK,OAGzD5B,KAAKmL,QAAQd,OAASrK,KAAKsL,iBAC7BtL,KAAK8M,6BAITA,wBAAA,WAA0B,IAAAC,EAAA/M,KAClBgN,EAAQ,SAAApL,GACRmL,EAAKtB,eAAiBlB,GAAY3I,EAAMqL,YAAYtP,eACtDoP,EAAK9B,YAAcrJ,EAAMsL,QACfH,EAAKtB,gBACfsB,EAAK9B,YAAcrJ,EAAMuL,QAAQ,GAAGD,UAalCE,EAAM,SAAAxL,GACNmL,EAAKtB,eAAiBlB,GAAY3I,EAAMqL,YAAYtP,iBACtDoP,EAAK7B,YAActJ,EAAMsL,QAAUH,EAAK9B,aAG1C8B,EAAKN,eACsB,UAAvBM,EAAK5B,QAAQhB,QASf4C,EAAK5C,QACD4C,EAAK/B,cACPqC,aAAaN,EAAK/B,cAGpB+B,EAAK/B,aAAexO,YAAW,SAAAoF,GAAK,OAAImL,EAAKhB,MAAMnK,KA1R5B,IA0R6DmL,EAAK5B,QAAQnB,YAIrGzD,EAAepH,KA1OO,qBA0OiBa,KAAKgF,UAAUjI,SAAQ,SAAAuQ,GAC5DzK,EAAaO,GAAGkK,EA3PA,yBA2P2B,SAAAtT,GAAC,OAAIA,EAAE4F,uBAGhDI,KAAKyL,eACP5I,EAAaO,GAAGpD,KAAKgF,SAjQJ,2BAiQiC,SAAApD,GAAK,OAAIoL,EAAMpL,MACjEiB,EAAaO,GAAGpD,KAAKgF,SAjQN,yBAiQiC,SAAApD,GAAK,OAAIwL,EAAIxL,MAE7D5B,KAAKgF,SAASU,UAAU0C,IAvPG,mBAyP3BvF,EAAaO,GAAGpD,KAAKgF,SAzQL,0BAyQiC,SAAApD,GAAK,OAAIoL,EAAMpL,MAChEiB,EAAaO,GAAGpD,KAAKgF,SAzQN,yBAyQiC,SAAApD,GAAK,OA5C1C,SAAAA,GAEPA,EAAMuL,SAAWvL,EAAMuL,QAAQxL,OAAS,EAC1CoL,EAAK7B,YAAc,EAEnB6B,EAAK7B,YAActJ,EAAMuL,QAAQ,GAAGD,QAAUH,EAAK9B,YAuCIsC,CAAK3L,MAC9DiB,EAAaO,GAAGpD,KAAKgF,SAzQP,wBAyQiC,SAAApD,GAAK,OAAIwL,EAAIxL,UAIhEiL,SAAA,SAASjL,GACP,IAAI,kBAAkBnE,KAAKmE,EAAMgB,OAAO4K,SAIxC,OAAQ5L,EAAMhD,KACZ,IAtTiB,YAuTfgD,EAAMhC,iBACNI,KAAKqH,OACL,MACF,IAzTkB,aA0ThBzF,EAAMhC,iBACNI,KAAKwH,WAMX+E,cAAA,SAActS,GAKZ,OAJA+F,KAAK2K,OAAS1Q,GAAWA,EAAQ6D,WAC/ByI,EAAepH,KA/QC,iBA+QmBlF,EAAQ6D,YAC3C,GAEKkC,KAAK2K,OAAOvI,QAAQnI,MAG7BwT,oBAAA,SAAoBjB,EAAWxE,GAC7B,IAAM0F,EApTa,SAoTKlB,EAClBmB,EApTa,SAoTKnB,EAClBF,EAActM,KAAKuM,cAAcvE,GACjC4F,EAAgB5N,KAAK2K,OAAOhJ,OAAS,EAI3C,IAHuBgM,GAAmC,IAAhBrB,GACjBoB,GAAmBpB,IAAgBsB,KAEtC5N,KAAKmL,QAAQf,KACjC,OAAOpC,EAGT,IACM6F,GAAavB,GA/TA,SA8TLE,GAAgC,EAAI,IACRxM,KAAK2K,OAAOhJ,OAEtD,OAAsB,IAAfkM,EACL7N,KAAK2K,OAAO3K,KAAK2K,OAAOhJ,OAAS,GACjC3B,KAAK2K,OAAOkD,MAGhBC,mBAAA,SAAmBC,EAAeC,GAChC,IAAMC,EAAcjO,KAAKuM,cAAcwB,GACjCG,EAAYlO,KAAKuM,cAAchG,EAAehH,QA5S3B,wBA4SyDS,KAAKgF,WAEvF,OAAOnC,EAAaoB,QAAQjE,KAAKgF,SAtUpB,oBAsU2C,CACtD+I,cAAAA,EACAvB,UAAWwB,EACXG,KAAMD,EACN9B,GAAI6B,OAIRG,2BAAA,SAA2BnU,GACzB,GAAI+F,KAAKqL,mBAAoB,CAE3B,IADA,IAAMgD,EAAa9H,EAAepH,KAzThB,UAyTsCa,KAAKqL,oBACpD5J,EAAI,EAAGA,EAAI4M,EAAW1M,OAAQF,IACrC4M,EAAW5M,GAAGiE,UAAUC,OAnUN,UAsUpB,IAAM2I,EAAgBtO,KAAKqL,mBAAmBzE,SAC5C5G,KAAKuM,cAActS,IAGjBqU,GACFA,EAAc5I,UAAU0C,IA3UN,cAgVxBwD,OAAA,SAAOY,EAAWvS,GAAS,IASrBsU,EACAC,EACAR,EAXqBS,EAAAzO,KACnBgI,EAAgBzB,EAAehH,QAxUZ,wBAwU0CS,KAAKgF,UAClE0J,EAAqB1O,KAAKuM,cAAcvE,GACxC2G,EAAc1U,GAAY+N,GAC9BhI,KAAKyN,oBAAoBjB,EAAWxE,GAEhC4G,EAAmB5O,KAAKuM,cAAcoC,GACtCE,EAAY3O,QAAQF,KAAK4K,WAgB/B,GA3XmB,SAiXf4B,GACF+B,EA3VkB,qBA4VlBC,EA3VkB,qBA4VlBR,EAlXiB,SAoXjBO,EAhWmB,sBAiWnBC,EA9VkB,qBA+VlBR,EArXkB,SAwXhBW,GAAeA,EAAYjJ,UAAUE,SAvWnB,UAwWpB5F,KAAK+K,YAAa,OAKpB,IADmB/K,KAAK8N,mBAAmBa,EAAaX,GACzCnO,kBAIVmI,GAAkB2G,EAAvB,CAaA,GARA3O,KAAK+K,YAAa,EAEd8D,GACF7O,KAAKmK,QAGPnK,KAAKoO,2BAA2BO,GAE5B3O,KAAKgF,SAASU,UAAUE,SA7XP,SA6XmC,CACtD+I,EAAYjJ,UAAU0C,IAAIoG,GAE1BpQ,EAAOuQ,GAEP3G,EAActC,UAAU0C,IAAImG,GAC5BI,EAAYjJ,UAAU0C,IAAImG,GAE1B,IAAMO,EAAsBC,SAASJ,EAAYhU,aAAa,iBAAkB,IAC5EmU,GACF9O,KAAKmL,QAAQ6D,gBAAkBhP,KAAKmL,QAAQ6D,iBAAmBhP,KAAKmL,QAAQnB,SAC5EhK,KAAKmL,QAAQnB,SAAW8E,GAExB9O,KAAKmL,QAAQnB,SAAWhK,KAAKmL,QAAQ6D,iBAAmBhP,KAAKmL,QAAQnB,SAGvE,IAAM3O,EAAqBJ,EAAiC+M,GAE5DnF,EACGQ,IAAI2E,ERtdU,iBQsdqB,WAClC2G,EAAYjJ,UAAUC,OAAO4I,EAAsBC,GACnDG,EAAYjJ,UAAU0C,IAnZN,UAqZhBJ,EAActC,UAAUC,OArZR,SAqZkC6I,EAAgBD,GAElEE,EAAK1D,YAAa,EAElBvO,YAAW,WACTqG,EAAaoB,QAAQwK,EAAKzJ,SAxatB,mBAwa4C,CAC9C+I,cAAeY,EACfnC,UAAWwB,EACXG,KAAMO,EACNtC,GAAIwC,MAEL,MAGP3S,EAAqB+L,EAAe3M,QAEpC2M,EAActC,UAAUC,OAraJ,UAsapBgJ,EAAYjJ,UAAU0C,IAtaF,UAwapBpI,KAAK+K,YAAa,EAClBlI,EAAaoB,QAAQjE,KAAKgF,SAvbhB,mBAubsC,CAC9C+I,cAAeY,EACfnC,UAAWwB,EACXG,KAAMO,EACNtC,GAAIwC,IAIJC,GACF7O,KAAK+L,YAMFkD,kBAAP,SAAyBhV,EAAS0C,GAChC,IAAIkC,EAAOI,EAAahF,EAxeX,eAyeTkR,EAAOpC,EAAAA,EAAA,GACNgB,IACArB,GAAYG,kBAAkB5O,IAGb,iBAAX0C,IACTwO,EAAOpC,EAAAA,EAAA,GACFoC,GACAxO,IAIP,IAAMuS,EAA2B,iBAAXvS,EAAsBA,EAASwO,EAAQjB,MAM7D,GAJKrL,IACHA,EAAO,IAAI6L,EAASzQ,EAASkR,IAGT,iBAAXxO,EACTkC,EAAKuN,GAAGzP,QACH,GAAsB,iBAAXuS,EAAqB,CACrC,QAA4B,IAAjBrQ,EAAKqQ,GACd,MAAM,IAAIC,UAAJ,oBAAkCD,EAAlC,KAGRrQ,EAAKqQ,UACI/D,EAAQnB,UAAYmB,EAAQiE,OACrCvQ,EAAKsL,QACLtL,EAAKkN,YAIFhG,gBAAP,SAAuBpJ,GACrB,OAAOqD,KAAKgG,MAAK,WACf0E,EAASuE,kBAAkBjP,KAAMrD,SAI9B0S,oBAAP,SAA2BzN,GACzB,IAAMgB,EAAS5H,EAAuBgF,MAEtC,GAAK4C,GAAWA,EAAO8C,UAAUE,SApeT,YAoexB,CAIA,IAAMjJ,EAAMoM,EAAAA,EAAA,GACPL,GAAYG,kBAAkBjG,IAC9B8F,GAAYG,kBAAkB7I,OAE7BsP,EAAatP,KAAKrF,aAAa,iBAEjC2U,IACF3S,EAAOqN,UAAW,GAGpBU,EAASuE,kBAAkBrM,EAAQjG,GAE/B2S,GACFrQ,EAAa2D,EAniBF,eAmiBoBwJ,GAAGkD,GAGpC1N,EAAMhC,qBAGDuG,YAAP,SAAmBlM,GACjB,OAAOgF,EAAahF,EA1iBP,wDAkGb,MAnGY,+CAuGZ,OAAO8P,SA5BLW,GA0eN7H,EACGO,GAAG7I,SAzgBoB,6BAiBE,gCAwf+BmQ,GAAS2E,qBAEpExM,EAAaO,GAAGjI,OA5gBS,6BA4gBoB,WAG3C,IAFA,IAAMoU,EAAYhJ,EAAepH,KA1fR,0BA4fhBsC,EAAI,EAAGC,EAAM6N,EAAU5N,OAAQF,EAAIC,EAAKD,IAC/CiJ,GAASuE,kBAAkBM,EAAU9N,GAAIxC,EAAasQ,EAAU9N,GA3jBnD,mBA+jBjB,IAAMlB,GAAIjC,IASV,GAAIiC,GAAG,CACL,IAAM6F,GAAqB7F,GAAEmC,GAAGoC,IAChCvE,GAAEmC,GAAGoC,IAAQ4F,GAAS3E,gBACtBxF,GAAEmC,GAAGoC,IAAMuB,YAAcqE,GACzBnK,GAAEmC,GAAGoC,IAAMwB,WAAa,WAEtB,OADA/F,GAAEmC,GAAGoC,IAAQsB,GACNsE,GAAS3E,iBChlBpB,IAAMjB,GAAO,WAMPiF,GAAU,CACdpC,QAAQ,EACR6H,OAAQ,IAGJlF,GAAc,CAClB3C,OAAQ,UACR6H,OAAQ,oBA0BJC,GAAAA,WACJ,SAAAA,EAAYxV,EAAS0C,GACnBqD,KAAK0P,kBAAmB,EACxB1P,KAAKgF,SAAW/K,EAChB+F,KAAKmL,QAAUnL,KAAKoL,WAAWzO,GAC/BqD,KAAK2P,cAAgBpJ,EAAepH,KAC/ByQ,mCAA+B3V,EAAQF,GAAvC6V,6CACsC3V,EAAQF,GADjD,MAMF,IAFA,IAAM8V,EAAatJ,EAAepH,KAlBT,4BAoBhBsC,EAAI,EAAGC,EAAMmO,EAAWlO,OAAQF,EAAIC,EAAKD,IAAK,CACrD,IAAMqO,EAAOD,EAAWpO,GAClB/G,EAAWI,EAAuBgV,GAClCC,EAAgBxJ,EAAepH,KAAKzE,GACvCoM,QAAO,SAAAkJ,GAAS,OAAIA,IAAc/V,KAEpB,OAAbS,GAAqBqV,EAAcpO,SACrC3B,KAAKiQ,UAAYvV,EACjBsF,KAAK2P,cAAcvI,KAAK0I,IAI5B9P,KAAKkQ,QAAUlQ,KAAKmL,QAAQqE,OAASxP,KAAKmQ,aAAe,KAEpDnQ,KAAKmL,QAAQqE,QAChBxP,KAAKoQ,0BAA0BpQ,KAAKgF,SAAUhF,KAAK2P,eAGjD3P,KAAKmL,QAAQxD,QACf3H,KAAK2H,SAGP1I,EAAahF,EAvEA,cAuEmB+F,iCAelC2H,OAAA,WACM3H,KAAKgF,SAASU,UAAUE,SAnER,QAoElB5F,KAAKqQ,OAELrQ,KAAKsQ,UAITA,KAAA,WAAO,IAAA7K,EAAAzF,KACL,IAAIA,KAAK0P,mBACP1P,KAAKgF,SAASU,UAAUE,SA5EN,QA2EpB,CAKA,IAAI2K,EACAC,EAEAxQ,KAAKkQ,SAUgB,KATvBK,EAAUhK,EAAepH,KA5EN,qBA4E6Ba,KAAKkQ,SAClDpJ,QAAO,SAAAgJ,GACN,MAAmC,iBAAxBrK,EAAK0F,QAAQqE,OACfM,EAAKnV,aAAa,iBAAmB8K,EAAK0F,QAAQqE,OAGpDM,EAAKpK,UAAUE,SAzFJ,gBA4FVjE,SACV4O,EAAU,MAId,IAAME,EAAYlK,EAAehH,QAAQS,KAAKiQ,WAC9C,GAAIM,EAAS,CACX,IAAMG,EAAiBH,EAAQzJ,QAAO,SAAAgJ,GAAI,OAAIW,IAAcX,KAG5D,IAFAU,EAAcE,EAAe,GAAKzR,EAAayR,EAAe,GAzHnD,eAyHmE,OAE3DF,EAAYd,iBAC7B,OAKJ,IADmB7M,EAAaoB,QAAQjE,KAAKgF,SAlHjC,oBAmHGnF,iBAAf,CAII0Q,GACFA,EAAQxT,SAAQ,SAAA4T,GACVF,IAAcE,GAChBlB,EAASmB,kBAAkBD,EAAY,QAGpCH,GACHvR,EAAa0R,EA5IN,cA4I4B,SAKzC,IAAME,EAAY7Q,KAAK8Q,gBAEvB9Q,KAAKgF,SAASU,UAAUC,OA9HA,YA+HxB3F,KAAKgF,SAASU,UAAU0C,IA9HE,cAgI1BpI,KAAKgF,SAASnH,MAAMgT,GAAa,EAE7B7Q,KAAK2P,cAAchO,QACrB3B,KAAK2P,cAAc5S,SAAQ,SAAA9C,GACzBA,EAAQyL,UAAUC,OAnIG,aAoIrB1L,EAAQiO,aAAa,iBAAiB,MAI1ClI,KAAK+Q,kBAAiB,GAEtB,IAYMC,EAAU,UADaH,EAAU,GAAGlT,cAAgBkT,EAAU9M,MAAM,IAEpE1I,EAAqBJ,EAAiC+E,KAAKgF,UAEjEnC,EAAaQ,IAAIrD,KAAKgF,STtMH,iBSuLF,WACfS,EAAKT,SAASU,UAAUC,OA5IA,cA6IxBF,EAAKT,SAASU,UAAU0C,IA9IF,WADJ,QAiJlB3C,EAAKT,SAASnH,MAAMgT,GAAa,GAEjCpL,EAAKsL,kBAAiB,GAEtBlO,EAAaoB,QAAQwB,EAAKT,SA1Jf,wBAmKb/I,EAAqB+D,KAAKgF,SAAU3J,GACpC2E,KAAKgF,SAASnH,MAAMgT,GAAgB7Q,KAAKgF,SAASgM,GAAlD,UAGFX,KAAA,WAAO,IAAAzD,EAAA5M,KACL,IAAIA,KAAK0P,kBACN1P,KAAKgF,SAASU,UAAUE,SApKP,UAwKD/C,EAAaoB,QAAQjE,KAAKgF,SA5KjC,oBA6KGnF,iBAAf,CAIA,IAAMgR,EAAY7Q,KAAK8Q,gBAEvB9Q,KAAKgF,SAASnH,MAAMgT,GAAgB7Q,KAAKgF,SAASoE,wBAAwByH,GAA1E,KAEAzS,EAAO4B,KAAKgF,UAEZhF,KAAKgF,SAASU,UAAU0C,IAjLE,cAkL1BpI,KAAKgF,SAASU,UAAUC,OAnLA,WADJ,QAsLpB,IAAMsL,EAAqBjR,KAAK2P,cAAchO,OAC9C,GAAIsP,EAAqB,EACvB,IAAK,IAAIxP,EAAI,EAAGA,EAAIwP,EAAoBxP,IAAK,CAC3C,IAAMwC,EAAUjE,KAAK2P,cAAclO,GAC7BqO,EAAO9U,EAAuBiJ,GAEhC6L,IAASA,EAAKpK,UAAUE,SA5LZ,UA6Ld3B,EAAQyB,UAAU0C,IA1LC,aA2LnBnE,EAAQiE,aAAa,iBAAiB,IAK5ClI,KAAK+Q,kBAAiB,GAStB/Q,KAAKgF,SAASnH,MAAMgT,GAAa,GACjC,IAAMxV,EAAqBJ,EAAiC+E,KAAKgF,UAEjEnC,EAAaQ,IAAIrD,KAAKgF,STzPH,iBS+OF,WACf4H,EAAKmE,kBAAiB,GACtBnE,EAAK5H,SAASU,UAAUC,OArMA,cAsMxBiH,EAAK5H,SAASU,UAAU0C,IAvMF,YAwMtBvF,EAAaoB,QAAQ2I,EAAK5H,SA5Md,yBAmNd/I,EAAqB+D,KAAKgF,SAAU3J,OAGtC0V,iBAAA,SAAiBG,GACflR,KAAK0P,iBAAmBwB,KAG1B3L,QAAA,WACEtG,EAAgBe,KAAKgF,SA5OR,eA8ObhF,KAAKmL,QAAU,KACfnL,KAAKkQ,QAAU,KACflQ,KAAKgF,SAAW,KAChBhF,KAAK2P,cAAgB,KACrB3P,KAAK0P,iBAAmB,QAK1BtE,WAAA,SAAWzO,GAOT,OANAA,EAAMoM,EAAAA,EAAA,GACDgB,IACApN,IAEEgL,OAASzH,QAAQvD,EAAOgL,QAC/BlL,EAAgBqI,GAAMnI,EAAQ2N,IACvB3N,KAGTmU,cAAA,WAEE,OADiB9Q,KAAKgF,SAASU,UAAUE,SAzO/B,SAAA,QACC,YA4ObuK,WAAA,WAAa,IAAApD,EAAA/M,KACLwP,EAAWxP,KAAKmL,QAAhBqE,OAEF1T,EAAU0T,QAEiB,IAAlBA,EAAO2B,aAA+C,IAAd3B,EAAO,KACxDA,EAASA,EAAO,IAGlBA,EAASjJ,EAAehH,QAAQiQ,GAGlC,IAAM9U,EAAckV,yCAAqCJ,EAA3C,KAYd,OAVAjJ,EAAepH,KAAKzE,EAAU8U,GAC3BzS,SAAQ,SAAA9C,GACP,IAAMmX,EAAWpW,EAAuBf,GAExC8S,EAAKqD,0BACHgB,EACA,CAACnX,OAIAuV,KAGTY,0BAAA,SAA0BnW,EAASoX,GACjC,GAAIpX,EAAS,CACX,IAAMqX,EAASrX,EAAQyL,UAAUE,SA/Qf,QAiRdyL,EAAa1P,QACf0P,EAAatU,SAAQ,SAAA+S,GACfwB,EACFxB,EAAKpK,UAAUC,OAjRE,aAmRjBmK,EAAKpK,UAAU0C,IAnRE,aAsRnB0H,EAAK5H,aAAa,gBAAiBoJ,UAQpCV,kBAAP,SAAyB3W,EAAS0C,GAChC,IAAIkC,EAAOI,EAAahF,EAtTX,eAuTPkR,EAAOpC,EAAAA,EAAAA,EAAA,GACRgB,IACArB,GAAYG,kBAAkB5O,IACZ,iBAAX0C,GAAuBA,EAASA,EAAS,IAWrD,IARKkC,GAAQsM,EAAQxD,QAA4B,iBAAXhL,GAAuB,YAAYc,KAAKd,KAC5EwO,EAAQxD,QAAS,GAGd9I,IACHA,EAAO,IAAI4Q,EAASxV,EAASkR,IAGT,iBAAXxO,EAAqB,CAC9B,QAA4B,IAAjBkC,EAAKlC,GACd,MAAM,IAAIwS,UAAJ,oBAAkCxS,EAAlC,KAGRkC,EAAKlC,SAIFoJ,gBAAP,SAAuBpJ,GACrB,OAAOqD,KAAKgG,MAAK,WACfyJ,EAASmB,kBAAkB5Q,KAAMrD,SAI9BwJ,YAAP,SAAmBlM,GACjB,OAAOgF,EAAahF,EArVP,wDA6Eb,MA9EY,+CAkFZ,OAAO8P,SA5CL0F,GA0TN5M,EAAaO,GAAG7I,SA7UU,6BAWG,4BAkUyC,SAAUqH,GAEjD,MAAzBA,EAAMgB,OAAO4K,SACf5L,EAAMhC,iBAGR,IAAM2R,EAAc7I,GAAYG,kBAAkB7I,MAC5CtF,EAAWI,EAAuBkF,MACfuG,EAAepH,KAAKzE,GAE5BqC,SAAQ,SAAA9C,GACvB,IACI0C,EADEkC,EAAOI,EAAahF,EA1Wb,eA4WT4E,GAEmB,OAAjBA,EAAKqR,SAAkD,iBAAvBqB,EAAY/B,SAC9C3Q,EAAKsM,QAAQqE,OAAS+B,EAAY/B,OAClC3Q,EAAKqR,QAAUrR,EAAKsR,cAGtBxT,EAAS,UAETA,EAAS4U,EAGX9B,GAASmB,kBAAkB3W,EAAS0C,SAIxC,IAAM4D,GAAIjC,IASV,GAAIiC,GAAG,CACL,IAAM6F,GAAqB7F,GAAEmC,GAAGoC,IAChCvE,GAAEmC,GAAGoC,IAAQ2K,GAAS1J,gBACtBxF,GAAEmC,GAAGoC,IAAMuB,YAAcoJ,GACzBlP,GAAEmC,GAAGoC,IAAMwB,WAAa,WAEtB,OADA/F,GAAEmC,GAAGoC,IAAQsB,GACNqJ,GAAS1J,iBC/YpB,IAAMjB,GAAO,WAaP0M,GAAiB,IAAIhU,OAAUiU,4BAiC/B1H,GAAU,CACdb,OAAQ,EACRwI,MAAM,EACNC,SAAU,eACVC,UAAW,SACX3T,QAAS,UACT4T,aAAc,MAGVvH,GAAc,CAClBpB,OAAQ,2BACRwI,KAAM,UACNC,SAAU,mBACVC,UAAW,mBACX3T,QAAS,SACT4T,aAAc,iBASVC,GAAAA,WACJ,SAAAA,EAAY7X,EAAS0C,GACnBqD,KAAKgF,SAAW/K,EAChB+F,KAAK+R,QAAU,KACf/R,KAAKmL,QAAUnL,KAAKoL,WAAWzO,GAC/BqD,KAAKgS,MAAQhS,KAAKiS,kBAClBjS,KAAKkS,UAAYlS,KAAKmS,gBAEtBnS,KAAK2L,qBACL1M,EAAahF,EA7EA,cA6EmB+F,iCAmBlC2H,OAAA,WACE,IAAI3H,KAAKgF,SAASoN,WAAYpS,KAAKgF,SAASU,UAAUE,SA3E9B,YA2ExB,CAIA,IAAMyM,EAAWrS,KAAKgF,SAASU,UAAUE,SA9ErB,QAgFpBkM,EAASQ,aAELD,GAIJrS,KAAKsQ,WAGPA,KAAA,WACE,KAAItQ,KAAKgF,SAASoN,UAAYpS,KAAKgF,SAASU,UAAUE,SA3F9B,aA2F+D5F,KAAKgS,MAAMtM,UAAUE,SA1FxF,SA0FpB,CAIA,IAAM4J,EAASsC,EAASS,qBAAqBvS,KAAKgF,UAC5C+I,EAAgB,CACpBA,cAAe/N,KAAKgF,UAKtB,IAFkBnC,EAAaoB,QAAQjE,KAAKgF,SA3GhC,mBA2GsD+I,GAEpDlO,iBAAd,CAKA,IAAKG,KAAKkS,UAAW,CACnB,QAAsB,IAAXM,EACT,MAAM,IAAIrD,UAAU,mEAGtB,IAAIsD,EAAmBzS,KAAKgF,SAEG,WAA3BhF,KAAKmL,QAAQyG,UACfa,EAAmBjD,EACV1T,EAAUkE,KAAKmL,QAAQyG,aAChCa,EAAmBzS,KAAKmL,QAAQyG,eAGa,IAAlC5R,KAAKmL,QAAQyG,UAAUT,SAChCsB,EAAmBzS,KAAKmL,QAAQyG,UAAU,KAOhB,iBAA1B5R,KAAKmL,QAAQwG,UACfnC,EAAO9J,UAAU0C,IA1HU,mBA6H7BpI,KAAK+R,QAAU,IAAIS,EAAOC,EAAkBzS,KAAKgS,MAAOhS,KAAK0S,oBAQvB,IAAAlM,EADxC,GAAI,iBAAkBjM,SAASkM,kBAC5B+I,EAAOhK,QAhIc,gBAiItBgB,EAAA,IAAGE,OAAH1D,MAAAwD,EAAajM,SAASiE,KAAKoI,UACxB7J,SAAQ,SAAA+S,GAAI,OAAIjN,EAAaO,GAAG0M,EAAM,YAAa,MVxBzC,kBU2Bf9P,KAAKgF,SAASiD,QACdjI,KAAKgF,SAASkD,aAAa,iBAAiB,GAE5CQ,GAAYkB,YAAY5J,KAAKgS,MAnJT,QAoJpBtJ,GAAYkB,YAAY5J,KAAKgF,SApJT,QAqJpBnC,EAAaoB,QAAQuL,EA5JR,oBA4J6BzB,QAG5CsC,KAAA,WACE,IAAIrQ,KAAKgF,SAASoN,WAAYpS,KAAKgF,SAASU,UAAUE,SA1J9B,aA0JgE5F,KAAKgS,MAAMtM,UAAUE,SAzJzF,QAyJpB,CAIA,IAAM4J,EAASsC,EAASS,qBAAqBvS,KAAKgF,UAC5C+I,EAAgB,CACpBA,cAAe/N,KAAKgF,UAGJnC,EAAaoB,QAAQuL,EA5K3B,mBA4K+CzB,GAE7ClO,mBAIVG,KAAK+R,SACP/R,KAAK+R,QAAQY,UAGfjK,GAAYkB,YAAY5J,KAAKgS,MA5KT,QA6KpBtJ,GAAYkB,YAAY5J,KAAKgF,SA7KT,QA8KpBnC,EAAaoB,QAAQuL,EAvLP,qBAuL6BzB,QAG7CxI,QAAA,WACEtG,EAAgBe,KAAKgF,SAzMR,eA0MbnC,EAAaC,IAAI9C,KAAKgF,SAzMX,gBA0MXhF,KAAKgF,SAAW,KAChBhF,KAAKgS,MAAQ,KACThS,KAAK+R,UACP/R,KAAK+R,QAAQY,UACb3S,KAAK+R,QAAU,SAInBa,OAAA,WACE5S,KAAKkS,UAAYlS,KAAKmS,gBAClBnS,KAAK+R,SACP/R,KAAK+R,QAAQc,oBAMjBlH,mBAAA,WAAqB,IAAAlG,EAAAzF,KACnB6C,EAAaO,GAAGpD,KAAKgF,SA5MR,qBA4M+B,SAAApD,GAC1CA,EAAMhC,iBACNgC,EAAMkR,kBACNrN,EAAKkC,eAITyD,WAAA,SAAWzO,GAaT,OAZAA,EAAMoM,EAAAA,EAAAA,EAAA,GACD/I,KAAK+S,YAAYhJ,SACjBrB,GAAYG,kBAAkB7I,KAAKgF,WACnCrI,GAGLF,EACEqI,GACAnI,EACAqD,KAAK+S,YAAYzI,aAGZ3N,KAGTsV,gBAAA,WACE,OAAO1L,EAAeiB,KAAKxH,KAAKgF,SApNd,kBAoNuC,MAG3DgO,cAAA,WACE,IAAMC,EAAiBjT,KAAKgF,SAASlH,WACjCoV,EAnNiB,eAmOrB,OAbID,EAAevN,UAAUE,SArOP,WAsOpBsN,EAzNgB,YA0NZlT,KAAKgS,MAAMtM,UAAUE,SApOF,yBAqOrBsN,EA1NiB,YA4NVD,EAAevN,UAAUE,SAzOX,aA0OvBsN,EA1NkB,cA2NTD,EAAevN,UAAUE,SA1OZ,YA2OtBsN,EA3NiB,aA4NRlT,KAAKgS,MAAMtM,UAAUE,SA3OP,yBA4OvBsN,EA/NsB,cAkOjBA,KAGTf,cAAA,WACE,OAAOjS,QAAQF,KAAKgF,SAASQ,QAAd,eAGjB2N,WAAA,WAAa,IAAAvG,EAAA5M,KACLkJ,EAAS,GAef,MAbmC,mBAAxBlJ,KAAKmL,QAAQjC,OACtBA,EAAOxG,GAAK,SAAA7D,GAMV,OALAA,EAAKuU,QAALrK,EAAAA,EAAA,GACKlK,EAAKuU,SACLxG,EAAKzB,QAAQjC,OAAOrK,EAAKuU,QAASxG,EAAK5H,WAAa,IAGlDnG,GAGTqK,EAAOA,OAASlJ,KAAKmL,QAAQjC,OAGxBA,KAGTwJ,iBAAA,WACE,IAAMb,EAAe,CACnBqB,UAAWlT,KAAKgT,gBAChBK,UAAW,CACTnK,OAAQlJ,KAAKmT,aACbzB,KAAM,CACJ4B,QAAStT,KAAKmL,QAAQuG,MAExB6B,gBAAiB,CACfC,kBAAmBxT,KAAKmL,QAAQwG,YAYtC,MAN6B,WAAzB3R,KAAKmL,QAAQlN,UACf4T,EAAawB,UAAUI,WAAa,CAClCH,SAAS,IAIbvK,EAAAA,EAAA,GACK8I,GACA7R,KAAKmL,QAAQ0G,iBAMb6B,kBAAP,SAAyBzZ,EAAS0C,GAChC,IAAIkC,EAAOI,EAAahF,EAlUX,eAyUb,GAJK4E,IACHA,EAAO,IAAIiT,EAAS7X,EAHY,iBAAX0C,EAAsBA,EAAS,OAMhC,iBAAXA,EAAqB,CAC9B,QAA4B,IAAjBkC,EAAKlC,GACd,MAAM,IAAIwS,UAAJ,oBAAkCxS,EAAlC,KAGRkC,EAAKlC,SAIFoJ,gBAAP,SAAuBpJ,GACrB,OAAOqD,KAAKgG,MAAK,WACf8L,EAAS4B,kBAAkB1T,KAAMrD,SAI9B2V,WAAP,SAAkB1Q,GAChB,IAAIA,GAhVmB,IAgVTA,EAAMuG,SACF,UAAfvG,EAAMmB,MApVG,QAoViBnB,EAAMhD,KAMnC,IAFA,IAAM+U,EAAUpN,EAAepH,KA/TN,4BAiUhBsC,EAAI,EAAGC,EAAMiS,EAAQhS,OAAQF,EAAIC,EAAKD,IAAK,CAClD,IAAM+N,EAASsC,EAASS,qBAAqBoB,EAAQlS,IAC/CmS,EAAU3U,EAAa0U,EAAQlS,GAlW1B,eAmWLsM,EAAgB,CACpBA,cAAe4F,EAAQlS,IAOzB,GAJIG,GAAwB,UAAfA,EAAMmB,OACjBgL,EAAc8F,WAAajS,GAGxBgS,EAAL,CAIA,IAAME,EAAeF,EAAQ5B,MAC7B,GAAK2B,EAAQlS,GAAGiE,UAAUE,SAzVR,QA6VlB,KAAIhE,IAA0B,UAAfA,EAAMmB,MACjB,kBAAkBtF,KAAKmE,EAAMgB,OAAO4K,UACpB,UAAf5L,EAAMmB,MAhXD,QAgXqBnB,EAAMhD,MACjCkV,EAAalO,SAAShE,EAAMgB,SAKhC,IADkBC,EAAaoB,QAAQuL,EA9W7B,mBA8WiDzB,GAC7ClO,iBAAd,CAMgD,IAAAgH,EAAhD,GAAI,iBAAkBtM,SAASkM,iBAC7BI,EAAA,IAAGH,OAAH1D,MAAA6D,EAAatM,SAASiE,KAAKoI,UACxB7J,SAAQ,SAAA+S,GAAI,OAAIjN,EAAaC,IAAIgN,EAAM,YAAa,MVxP5C,kBU2Pb6D,EAAQlS,GAAGyG,aAAa,gBAAiB,SAErC0L,EAAQ7B,SACV6B,EAAQ7B,QAAQY,UAGlBmB,EAAapO,UAAUC,OAtXL,QAuXlBgO,EAAQlS,GAAGiE,UAAUC,OAvXH,QAwXlB9C,EAAaoB,QAAQuL,EAjYT,qBAiY+BzB,SAIxCwE,qBAAP,SAA4BtY,GAC1B,OAAOe,EAAuBf,IAAYA,EAAQ6D,cAG7CiW,sBAAP,SAA6BnS,GAQ3B,KAAI,kBAAkBnE,KAAKmE,EAAMgB,OAAO4K,SA1Z1B,UA2ZZ5L,EAAMhD,KA5ZO,WA4ZegD,EAAMhD,MAxZjB,cAyZfgD,EAAMhD,KA1ZO,YA0ZmBgD,EAAMhD,KACtCgD,EAAMgB,OAAO4C,QAjYC,oBAkYfgM,GAAe/T,KAAKmE,EAAMhD,QAI7BgD,EAAMhC,iBACNgC,EAAMkR,mBAEF9S,KAAKoS,WAAYpS,KAAK0F,UAAUE,SApZZ,aAoZxB,CAIA,IAAM4J,EAASsC,EAASS,qBAAqBvS,MACvCqS,EAAWrS,KAAK0F,UAAUE,SAxZZ,QA0ZpB,GA7ae,WA6aXhE,EAAMhD,IAIR,OAHeoB,KAAKM,QAnZG,4BAmZ6BN,KAAOuG,EAAec,KAAKrH,KAnZxD,4BAmZoF,IACpGiI,aACP6J,EAASQ,aAIX,GAAKD,GAnbS,UAmbGzQ,EAAMhD,IAAvB,CAKA,IAAMoV,EAAQzN,EAAepH,KA1ZF,8DA0Z+BqQ,GACvD1I,OAAOlJ,GAEV,GAAKoW,EAAMrS,OAAX,CAIA,IAAI0K,EAAQ2H,EAAM5R,QAAQR,EAAMgB,QA7bf,YA+bbhB,EAAMhD,KAAwByN,EAAQ,GACxCA,IA/biB,cAkcfzK,EAAMhD,KAA0ByN,EAAQ2H,EAAMrS,OAAS,GACzD0K,IAMF2H,EAFA3H,GAAmB,IAAXA,EAAe,EAAIA,GAEdpE,cAxBX6J,EAASQ,iBA2BNnM,YAAP,SAAmBlM,GACjB,OAAOgF,EAAahF,EArdP,wDAmFb,MApFY,+CAwFZ,OAAO8P,uCAIP,OAAOO,SAvBLwH,GA2ZNjP,EAAaO,GAAG7I,SA5cY,+BAYC,2BAgc2CuX,GAASiC,uBACjFlR,EAAaO,GAAG7I,SA7cY,+BAcN,iBA+b2CuX,GAASiC,uBAC1ElR,EAAaO,GAAG7I,SA/cU,6BA+csBuX,GAASQ,YACzDzP,EAAaO,GAAG7I,SA9cU,6BA8csBuX,GAASQ,YACzDzP,EAAaO,GAAG7I,SAjdU,6BAaG,4BAocyC,SAAUqH,GAC9EA,EAAMhC,iBACNgC,EAAMkR,kBACNhB,GAAS4B,kBAAkB1T,KAAM,aAEnC6C,EACGO,GAAG7I,SAvdoB,6BAcE,kBAyc+B,SAAAP,GAAC,OAAIA,EAAE8Y,qBAElE,IAAMvS,GAAIjC,IASV,GAAIiC,GAAG,CACL,IAAM6F,GAAqB7F,GAAEmC,GAAGoC,IAChCvE,GAAEmC,GAAGoC,IAAQgN,GAAS/L,gBACtBxF,GAAEmC,GAAGoC,IAAMuB,YAAcyL,GACzBvR,GAAEmC,GAAGoC,IAAMwB,WAAa,WAEtB,OADA/F,GAAEmC,GAAGoC,IAAQsB,GACN0L,GAAS/L,iBC3fpB,IAOMgE,GAAU,CACdkK,UAAU,EACVhK,UAAU,EACVhC,OAAO,EACPqI,MAAM,GAGFhG,GAAc,CAClB2J,SAAU,mBACVhK,SAAU,UACVhC,MAAO,UACPqI,KAAM,WAoCF4D,GAAAA,WACJ,SAAAA,EAAYja,EAAS0C,GACnBqD,KAAKmL,QAAUnL,KAAKoL,WAAWzO,GAC/BqD,KAAKgF,SAAW/K,EAChB+F,KAAKmU,QAAU5N,EAAehH,QAjBV,gBAiBmCtF,GACvD+F,KAAKoU,UAAY,KACjBpU,KAAKqU,UAAW,EAChBrU,KAAKsU,oBAAqB,EAC1BtU,KAAKuU,sBAAuB,EAC5BvU,KAAK0P,kBAAmB,EACxB1P,KAAKwU,gBAAkB,EACvBvV,EAAahF,EA/DA,WA+DmB+F,iCAelC2H,OAAA,SAAOoG,GACL,OAAO/N,KAAKqU,SAAWrU,KAAKqQ,OAASrQ,KAAKsQ,KAAKvC,MAGjDuC,KAAA,SAAKvC,GAAe,IAAAtI,EAAAzF,KAClB,IAAIA,KAAKqU,WAAYrU,KAAK0P,iBAA1B,CAII1P,KAAKgF,SAASU,UAAUE,SApDR,UAqDlB5F,KAAK0P,kBAAmB,GAG1B,IAAM+E,EAAY5R,EAAaoB,QAAQjE,KAAKgF,SArEhC,gBAqEsD,CAChE+I,cAAAA,IAGE/N,KAAKqU,UAAYI,EAAU5U,mBAI/BG,KAAKqU,UAAW,EAEhBrU,KAAK0U,kBACL1U,KAAK2U,gBAEL3U,KAAK4U,gBAEL5U,KAAK6U,kBACL7U,KAAK8U,kBAELjS,EAAaO,GAAGpD,KAAKgF,SAnFA,yBAgBK,0BAsExB,SAAApD,GAAK,OAAI6D,EAAK4K,KAAKzO,MAGrBiB,EAAaO,GAAGpD,KAAKmU,QAtFI,8BAsF8B,WACrDtR,EAAaQ,IAAIoC,EAAKT,SAxFD,4BAwFkC,SAAApD,GACjDA,EAAMgB,SAAW6C,EAAKT,WACxBS,EAAK8O,sBAAuB,SAKlCvU,KAAK+U,eAAc,WAAA,OAAMtP,EAAKuP,aAAajH,WAG7CsC,KAAA,SAAKzO,GAAO,IAAAgL,EAAA5M,KAKV,IAJI4B,GACFA,EAAMhC,iBAGHI,KAAKqU,WAAYrU,KAAK0P,oBAIT7M,EAAaoB,QAAQjE,KAAKgF,SApHhC,iBAsHEnF,iBAAd,CAIAG,KAAKqU,UAAW,EAChB,IAAMY,EAAajV,KAAKgF,SAASU,UAAUE,SA3GvB,QA2HpB,GAdIqP,IACFjV,KAAK0P,kBAAmB,GAG1B1P,KAAK6U,kBACL7U,KAAK8U,kBAELjS,EAAaC,IAAIvI,SA/HF,oBAiIfyF,KAAKgF,SAASU,UAAUC,OArHJ,QAuHpB9C,EAAaC,IAAI9C,KAAKgF,SAjID,0BAkIrBnC,EAAaC,IAAI9C,KAAKmU,QA/HG,8BAiIrBc,EAAY,CACd,IAAM5Z,EAAqBJ,EAAiC+E,KAAKgF,UAEjEnC,EAAaQ,IAAIrD,KAAKgF,SXtLL,iBWsL+B,SAAApD,GAAK,OAAIgL,EAAKsI,WAAWtT,MACzE3F,EAAqB+D,KAAKgF,SAAU3J,QAEpC2E,KAAKkV,iBAIT3P,QAAA,WACE,CAACpK,OAAQ6E,KAAKgF,SAAUhF,KAAKmU,SAC1BpX,SAAQ,SAAAoY,GAAW,OAAItS,EAAaC,IAAIqS,EAzKhC,gBAgLXtS,EAAaC,IAAIvI,SAzJF,oBA2Jf0E,EAAgBe,KAAKgF,SAnLR,YAqLbhF,KAAKmL,QAAU,KACfnL,KAAKgF,SAAW,KAChBhF,KAAKmU,QAAU,KACfnU,KAAKoU,UAAY,KACjBpU,KAAKqU,SAAW,KAChBrU,KAAKsU,mBAAqB,KAC1BtU,KAAKuU,qBAAuB,KAC5BvU,KAAK0P,iBAAmB,KACxB1P,KAAKwU,gBAAkB,QAGzBY,aAAA,WACEpV,KAAK4U,mBAKPxJ,WAAA,SAAWzO,GAMT,OALAA,EAAMoM,EAAAA,EAAA,GACDgB,IACApN,GAELF,EA7MS,QA6MaE,EAAQ2N,IACvB3N,KAGTqY,aAAA,SAAajH,GAAe,IAAAhB,EAAA/M,KACpBiV,EAAajV,KAAKgF,SAASU,UAAUE,SA7KvB,QA8KdyP,EAAY9O,EAAehH,QAzKT,cAyKsCS,KAAKmU,SAE9DnU,KAAKgF,SAASlH,YACfkC,KAAKgF,SAASlH,WAAW9B,WAAakL,KAAKC,cAE7C5M,SAASiE,KAAK8W,YAAYtV,KAAKgF,UAGjChF,KAAKgF,SAASnH,MAAMI,QAAU,QAC9B+B,KAAKgF,SAAS3E,gBAAgB,eAC9BL,KAAKgF,SAASkD,aAAa,cAAc,GACzClI,KAAKgF,SAASkD,aAAa,OAAQ,UACnClI,KAAKgF,SAASsE,UAAY,EAEtB+L,IACFA,EAAU/L,UAAY,GAGpB2L,GACF7W,EAAO4B,KAAKgF,UAGdhF,KAAKgF,SAASU,UAAU0C,IAnMJ,QAqMhBpI,KAAKmL,QAAQlD,OACfjI,KAAKuV,gBAGP,IAAMC,EAAqB,WACrBzI,EAAK5B,QAAQlD,OACf8E,EAAK/H,SAASiD,QAGhB8E,EAAK2C,kBAAmB,EACxB7M,EAAaoB,QAAQ8I,EAAK/H,SA5Nf,iBA4NsC,CAC/C+I,cAAAA,KAIJ,GAAIkH,EAAY,CACd,IAAM5Z,EAAqBJ,EAAiC+E,KAAKmU,SAEjEtR,EAAaQ,IAAIrD,KAAKmU,QXhRL,gBWgR8BqB,GAC/CvZ,EAAqB+D,KAAKmU,QAAS9Y,QAEnCma,OAIJD,cAAA,WAAgB,IAAA9G,EAAAzO,KACd6C,EAAaC,IAAIvI,SA3OF,oBA4OfsI,EAAaO,GAAG7I,SA5OD,oBA4O0B,SAAAqH,GACnCrH,WAAaqH,EAAMgB,QACnB6L,EAAKzJ,WAAapD,EAAMgB,QACvB6L,EAAKzJ,SAASY,SAAShE,EAAMgB,SAChC6L,EAAKzJ,SAASiD,cAKpB4M,gBAAA,WAAkB,IAAAY,EAAAzV,KACZA,KAAKqU,SACPxR,EAAaO,GAAGpD,KAAKgF,SApPA,4BAoPiC,SAAApD,GAChD6T,EAAKtK,QAAQlB,UA7QN,WA6QkBrI,EAAMhD,KACjCgD,EAAMhC,iBACN6V,EAAKpF,QACKoF,EAAKtK,QAAQlB,UAhRd,WAgR0BrI,EAAMhD,KACzC6W,EAAKC,gCAIT7S,EAAaC,IAAI9C,KAAKgF,SA7PD,+BAiQzB8P,gBAAA,WAAkB,IAAAa,EAAA3V,KACZA,KAAKqU,SACPxR,EAAaO,GAAGjI,OArQJ,mBAqQ0B,WAAA,OAAMwa,EAAKf,mBAEjD/R,EAAaC,IAAI3H,OAvQL,sBA2QhB+Z,WAAA,WAAa,IAAAU,EAAA5V,KACXA,KAAKgF,SAASnH,MAAMI,QAAU,OAC9B+B,KAAKgF,SAASkD,aAAa,eAAe,GAC1ClI,KAAKgF,SAAS3E,gBAAgB,cAC9BL,KAAKgF,SAAS3E,gBAAgB,QAC9BL,KAAK0P,kBAAmB,EACxB1P,KAAK+U,eAAc,WACjBxa,SAASiE,KAAKkH,UAAUC,OAzQN,cA0QlBiQ,EAAKC,oBACLD,EAAKE,kBACLjT,EAAaoB,QAAQ2R,EAAK5Q,SAzRd,yBA6RhB+Q,gBAAA,WACE/V,KAAKoU,UAAUtW,WAAWgI,YAAY9F,KAAKoU,WAC3CpU,KAAKoU,UAAY,QAGnBW,cAAA,SAAciB,GAAU,IAAAC,EAAAjW,KAChBkW,EAAUlW,KAAKgF,SAASU,UAAUE,SArRpB,QAAA,OAuRlB,GAEF,GAAI5F,KAAKqU,UAAYrU,KAAKmL,QAAQ8I,SAAU,CA6B1C,GA5BAjU,KAAKoU,UAAY7Z,SAASoF,cAAc,OACxCK,KAAKoU,UAAUvK,UA7RO,iBA+RlBqM,GACFlW,KAAKoU,UAAU1O,UAAU0C,IAAI8N,GAG/B3b,SAASiE,KAAK8W,YAAYtV,KAAKoU,WAE/BvR,EAAaO,GAAGpD,KAAKgF,SA5SF,0BA4SiC,SAAApD,GAC9CqU,EAAK1B,qBACP0B,EAAK1B,sBAAuB,EAI1B3S,EAAMgB,SAAWhB,EAAMuU,eAI3BF,EAAKP,gCAGHQ,GACF9X,EAAO4B,KAAKoU,WAGdpU,KAAKoU,UAAU1O,UAAU0C,IAnTP,SAqTb8N,EAEH,YADAF,IAIF,IAAMI,EAA6Bnb,EAAiC+E,KAAKoU,WAEzEvR,EAAaQ,IAAIrD,KAAKoU,UXrXL,gBWqXgC4B,GACjD/Z,EAAqB+D,KAAKoU,UAAWgC,QAChC,IAAKpW,KAAKqU,UAAYrU,KAAKoU,UAAW,CAC3CpU,KAAKoU,UAAU1O,UAAUC,OA/TP,QAiUlB,IAAM0Q,EAAiB,WACrBJ,EAAKF,kBACLC,KAGF,GAAIhW,KAAKgF,SAASU,UAAUE,SAvUV,QAuUqC,CACrD,IAAMwQ,EAA6Bnb,EAAiC+E,KAAKoU,WACzEvR,EAAaQ,IAAIrD,KAAKoU,UXjYP,gBWiYkCiC,GACjDpa,EAAqB+D,KAAKoU,UAAWgC,QAErCC,SAGFL,OAIJN,2BAAA,WAA6B,IAAAY,EAAAtW,KAC3B,GAA8B,WAA1BA,KAAKmL,QAAQ8I,SAAuB,CAEtC,GADkBpR,EAAaoB,QAAQjE,KAAKgF,SApWxB,0BAqWNnF,iBACZ,OAGFG,KAAKgF,SAASU,UAAU0C,IAxVJ,gBAyVpB,IAAMmO,EAA0Btb,EAAiC+E,KAAKgF,UACtEnC,EAAaQ,IAAIrD,KAAKgF,SXpZL,iBWoZ+B,WAC9CsR,EAAKtR,SAASU,UAAUC,OA3VN,mBA6VpB1J,EAAqB+D,KAAKgF,SAAUuR,GACpCvW,KAAKgF,SAASiD,aAEdjI,KAAKqQ,UAQTuE,cAAA,WACE,IAAM4B,EACJxW,KAAKgF,SAASyR,aAAelc,SAASkM,gBAAgBiQ,cAEnD1W,KAAKsU,oBAAsBkC,IAC9BxW,KAAKgF,SAASnH,MAAM8Y,YAAiB3W,KAAKwU,gBAA1C,MAGExU,KAAKsU,qBAAuBkC,IAC9BxW,KAAKgF,SAASnH,MAAM+Y,aAAkB5W,KAAKwU,gBAA3C,SAIJqB,kBAAA,WACE7V,KAAKgF,SAASnH,MAAM8Y,YAAc,GAClC3W,KAAKgF,SAASnH,MAAM+Y,aAAe,MAGrClC,gBAAA,WACE,IAAMvL,EAAO5O,SAASiE,KAAK4K,wBAC3BpJ,KAAKsU,mBAAqBla,KAAKyc,MAAM1N,EAAKI,KAAOJ,EAAK2N,OAAS3b,OAAO4b,WACtE/W,KAAKwU,gBAAkBxU,KAAKgX,wBAG9BrC,cAAA,WAAgB,IAAAsC,EAAAjX,KACd,GAAIA,KAAKsU,mBAAoB,CAK3B/N,EAAepH,KAhYU,qDAiYtBpC,SAAQ,SAAA9C,GACP,IAAMid,EAAgBjd,EAAQ4D,MAAM+Y,aAC9BO,EAAoBhc,OAAOC,iBAAiBnB,GAAS,iBAC3DyO,GAAYC,iBAAiB1O,EAAS,gBAAiBid,GACvDjd,EAAQ4D,MAAM+Y,aAAkBpb,WAAW2b,GAAqBF,EAAKzC,gBAArE,QAIJjO,EAAepH,KAxYW,eAyYvBpC,SAAQ,SAAA9C,GACP,IAAMmd,EAAend,EAAQ4D,MAAMwZ,YAC7BC,EAAmBnc,OAAOC,iBAAiBnB,GAAS,gBAC1DyO,GAAYC,iBAAiB1O,EAAS,eAAgBmd,GACtDnd,EAAQ4D,MAAMwZ,YAAiB7b,WAAW8b,GAAoBL,EAAKzC,gBAAnE,QAIJ,IAAM0C,EAAgB3c,SAASiE,KAAKX,MAAM+Y,aACpCO,EAAoBhc,OAAOC,iBAAiBb,SAASiE,MAAM,iBAEjEkK,GAAYC,iBAAiBpO,SAASiE,KAAM,gBAAiB0Y,GAC7D3c,SAASiE,KAAKX,MAAM+Y,aAAkBpb,WAAW2b,GAAqBnX,KAAKwU,gBAA3E,KAGFja,SAASiE,KAAKkH,UAAU0C,IAlaJ,iBAqatB0N,gBAAA,WAEEvP,EAAepH,KA9ZY,qDA+ZxBpC,SAAQ,SAAA9C,GACP,IAAMsd,EAAU7O,GAAYO,iBAAiBhP,EAAS,sBAC/B,IAAZsd,IACT7O,GAAYE,oBAAoB3O,EAAS,iBACzCA,EAAQ4D,MAAM+Y,aAAeW,MAKnChR,EAAepH,KAvaa,eAwazBpC,SAAQ,SAAA9C,GACP,IAAMud,EAAS9O,GAAYO,iBAAiBhP,EAAS,qBAC/B,IAAXud,IACT9O,GAAYE,oBAAoB3O,EAAS,gBACzCA,EAAQ4D,MAAMwZ,YAAcG,MAKlC,IAAMD,EAAU7O,GAAYO,iBAAiB1O,SAASiE,KAAM,sBACrC,IAAZ+Y,EACThd,SAASiE,KAAKX,MAAM+Y,aAAe,IAEnClO,GAAYE,oBAAoBrO,SAASiE,KAAM,iBAC/CjE,SAASiE,KAAKX,MAAM+Y,aAAeW,MAIvCP,mBAAA,WACE,IAAMS,EAAYld,SAASoF,cAAc,OACzC8X,EAAU5N,UAxcwB,0BAyclCtP,SAASiE,KAAK8W,YAAYmC,GAC1B,IAAMC,EAAiBD,EAAUrO,wBAAwBuO,MAAQF,EAAUG,YAE3E,OADArd,SAASiE,KAAKsH,YAAY2R,GACnBC,KAKF3R,gBAAP,SAAuBpJ,EAAQoR,GAC7B,OAAO/N,KAAKgG,MAAK,WACf,IAAInH,EAAOI,EAAae,KAnfb,YAofLmL,EAAOpC,EAAAA,EAAAA,EAAA,GACRgB,IACArB,GAAYG,kBAAkB7I,OACZ,iBAAXrD,GAAuBA,EAASA,EAAS,IAOrD,GAJKkC,IACHA,EAAO,IAAIqV,EAAMlU,KAAMmL,IAGH,iBAAXxO,EAAqB,CAC9B,QAA4B,IAAjBkC,EAAKlC,GACd,MAAM,IAAIwS,UAAJ,oBAAkCxS,EAAlC,KAGRkC,EAAKlC,GAAQoR,QACJ5C,EAAQmF,MACjBzR,EAAKyR,KAAKvC,SAKT5H,YAAP,SAAmBlM,GACjB,OAAOgF,EAAahF,EA3gBP,qDAqEb,MAtEY,+CA0EZ,OAAO8P,SArBLmK,GAieNrR,EAAaO,GAAG7I,SAvfU,0BAWG,yBA4eyC,SAAUqH,GAAO,IAAAiW,EAAA7X,KAC/E4C,EAAS5H,EAAuBgF,MAEjB,MAAjBA,KAAKwN,SAAoC,SAAjBxN,KAAKwN,SAC/B5L,EAAMhC,iBAGRiD,EAAaQ,IAAIT,EAtgBH,iBAsgBuB,SAAA6R,GAC/BA,EAAU5U,kBAKdgD,EAAaQ,IAAIT,EA7gBH,mBA6gByB,WACjChF,EAAUia,IACZA,EAAK5P,cAKX,IAAIpJ,EAAOI,EAAa2D,EAziBT,YA0iBf,IAAK/D,EAAM,CACT,IAAMlC,EAAMoM,EAAAA,EAAA,GACPL,GAAYG,kBAAkBjG,IAC9B8F,GAAYG,kBAAkB7I,OAGnCnB,EAAO,IAAIqV,GAAMtR,EAAQjG,GAG3BkC,EAAKyR,KAAKtQ,SAGZ,IAAMO,GAAIjC,IASV,GAAIiC,GAAG,CACL,IAAM6F,GAAqB7F,GAAEmC,GAAF,MAC3BnC,GAAEmC,GAAF,MAAawR,GAAMnO,gBACnBxF,GAAEmC,GAAF,MAAW2D,YAAc6N,GACzB3T,GAAEmC,GAAF,MAAW4D,WAAa,WAEtB,OADA/F,GAAEmC,GAAF,MAAa0D,GACN8N,GAAMnO,iBC5lBjB,IAAM+R,GAAW,CACf,aACA,OACA,OACA,WACA,WACA,SACA,MACA,cAUIC,GAAmB,8DAOnBC,GAAmB,qIAyBZC,GAAmB,CAE9BC,IAAK,CAAC,QAAS,MAAO,KAAM,OAAQ,OAzCP,kBA0C7BC,EAAG,CAAC,SAAU,OAAQ,QAAS,OAC/BC,KAAM,GACNC,EAAG,GACHC,GAAI,GACJC,IAAK,GACLC,KAAM,GACNC,IAAK,GACLC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJC,GAAI,GACJxX,EAAG,GACHyX,IAAK,CAAC,MAAO,SAAU,MAAO,QAAS,QAAS,UAChDC,GAAI,GACJC,GAAI,GACJC,EAAG,GACHC,IAAK,GACLC,EAAG,GACHC,MAAO,GACPC,KAAM,GACNC,IAAK,GACLC,IAAK,GACLC,OAAQ,GACRC,EAAG,GACHC,GAAI,IAGC,SAASC,GAAaC,EAAYC,EAAWC,GAAY,IAAA1T,EAC9D,IAAKwT,EAAWrY,OACd,OAAOqY,EAGT,GAAIE,GAAoC,mBAAfA,EACvB,OAAOA,EAAWF,GAQpB,IALA,IACMG,GADY,IAAIhf,OAAOif,WACKC,gBAAgBL,EAAY,aACxDM,EAAgBzd,OAAOC,KAAKmd,GAC5BM,GAAW/T,EAAA,IAAGE,OAAH1D,MAAAwD,EAAa2T,EAAgB3b,KAAKc,iBAAiB,MAZNkb,EAAA,SAcrD/Y,EAAOC,GAd8C,IAAAmF,EAetD4T,EAAKF,EAAS9Y,GACdiZ,EAASD,EAAGE,SAASpd,cAE3B,IAAuC,IAAnC+c,EAAclY,QAAQsY,GAGxB,OAFAD,EAAG3c,WAAWgI,YAAY2U,GAE1B,WAGF,IAAMG,GAAgB/T,EAAA,IAAGH,OAAH1D,MAAA6D,EAAa4T,EAAG3R,YAChC+R,EAAwB,GAAGnU,OAAOuT,EAAU,MAAQ,GAAIA,EAAUS,IAAW,IAEnFE,EAAc7d,SAAQ,SAAA+d,IApFD,SAACA,EAAMC,GAC9B,IAAMC,EAAWF,EAAKH,SAASpd,cAE/B,IAAgD,IAA5Cwd,EAAqB3Y,QAAQ4Y,GAC/B,OAAoC,IAAhClD,GAAS1V,QAAQ4Y,IACZ9a,QAAQ4a,EAAKG,UAAU3d,MAAMya,KAAqB+C,EAAKG,UAAU3d,MAAM0a,KASlF,IAHA,IAAMkD,EAASH,EAAqBjU,QAAO,SAAAqU,GAAS,OAAIA,aAAqB3d,UAGpEiE,EAAI,EAAGC,EAAMwZ,EAAOvZ,OAAQF,EAAIC,EAAKD,IAC5C,GAAIuZ,EAAS1d,MAAM4d,EAAOzZ,IACxB,OAAO,EAIX,OAAO,GAiEE2Z,CAAiBN,EAAMD,IAC1BJ,EAAGpa,gBAAgBya,EAAKH,cAfrBlZ,EAAI,EAAGC,EAAM6Y,EAAS5Y,OAAQF,EAAIC,EAAKD,IAAK+Y,EAA5C/Y,GAoBT,OAAO0Y,EAAgB3b,KAAK6c,UC3F9B,IAAMvW,GAAO,UAKPwW,GAAqB,IAAI9d,OAAJ,wBAAyC,KAC9D+d,GAAwB,CAAC,WAAY,YAAa,cAElDjR,GAAc,CAClBkR,UAAW,UACXC,SAAU,SACVC,MAAO,4BACPzX,QAAS,SACT0X,MAAO,kBACPC,KAAM,UACNlhB,SAAU,mBACVwY,UAAW,oBACXhK,OAAQ,2BACRuH,UAAW,2BACXoL,kBAAmB,iBACnBlK,SAAU,mBACVmK,SAAU,UACV5B,WAAY,kBACZD,UAAW,SACXpI,aAAc,iBAGVkK,GAAgB,CACpBC,KAAM,OACNC,IAAK,MACLC,MAAO,QACPC,OAAQ,SACRC,KAAM,QAGFrS,GAAU,CACdyR,WAAW,EACXC,SAAU,+GAGVxX,QAAS,cACTyX,MAAO,GACPC,MAAO,EACPC,MAAM,EACNlhB,UAAU,EACVwY,UAAW,MACXhK,OAAQ,EACRuH,WAAW,EACXoL,kBAAmB,OACnBlK,SAAU,eACVmK,UAAU,EACV5B,WAAY,KACZD,UAAWhC,GACXpG,aAAc,MAGVhW,GAAQ,CACZwgB,KAAI,kBACJC,OAAM,oBACNC,KAAI,kBACJC,MAAK,mBACLC,SAAQ,sBACRC,MAAK,mBACLC,QAAO,qBACPC,SAAQ,sBACRC,WAAU,wBACVC,WAAU,yBAuBNC,GAAAA,WACJ,SAAAA,EAAY9iB,EAAS0C,GACnB,QAAsB,IAAX6V,EACT,MAAM,IAAIrD,UAAU,kEAItBnP,KAAKgd,YAAa,EAClBhd,KAAKid,SAAW,EAChBjd,KAAKkd,YAAc,GACnBld,KAAKmd,eAAiB,GACtBnd,KAAK+R,QAAU,KAGf/R,KAAK/F,QAAUA,EACf+F,KAAKrD,OAASqD,KAAKoL,WAAWzO,GAC9BqD,KAAKod,IAAM,KAEXpd,KAAKqd,gBACLpe,EAAahF,EAAS+F,KAAK+S,YAAYuK,SAAUtd,iCAmCnDud,OAAA,WACEvd,KAAKgd,YAAa,KAGpBQ,QAAA,WACExd,KAAKgd,YAAa,KAGpBS,cAAA,WACEzd,KAAKgd,YAAchd,KAAKgd,cAG1BrV,OAAA,SAAO/F,GACL,GAAK5B,KAAKgd,WAIV,GAAIpb,EAAO,CACT,IAAM8b,EAAU1d,KAAK+S,YAAYuK,SAC7B1J,EAAU3U,EAAa2C,EAAMgB,OAAQ8a,GAEpC9J,IACHA,EAAU,IAAI5T,KAAK+S,YACjBnR,EAAMgB,OACN5C,KAAK2d,sBAEP1e,EAAa2C,EAAMgB,OAAQ8a,EAAS9J,IAGtCA,EAAQuJ,eAAeS,OAAShK,EAAQuJ,eAAeS,MAEnDhK,EAAQiK,uBACVjK,EAAQkK,OAAO,KAAMlK,GAErBA,EAAQmK,OAAO,KAAMnK,OAElB,CACL,GAAI5T,KAAKge,gBAAgBtY,UAAUE,SA7GjB,QA+GhB,YADA5F,KAAK+d,OAAO,KAAM/d,MAIpBA,KAAK8d,OAAO,KAAM9d,UAItBuF,QAAA,WACE8H,aAAarN,KAAKid,UAElBhe,EAAgBe,KAAK/F,QAAS+F,KAAK+S,YAAYuK,UAE/Cza,EAAaC,IAAI9C,KAAK/F,QAAS+F,KAAK+S,YAAYjJ,WAChDjH,EAAaC,IAAI9C,KAAK/F,QAAQuL,QAAb,UAA8C,gBAAiBxF,KAAKie,mBAEjFje,KAAKod,KACPpd,KAAKod,IAAItf,WAAWgI,YAAY9F,KAAKod,KAGvCpd,KAAKgd,WAAa,KAClBhd,KAAKid,SAAW,KAChBjd,KAAKkd,YAAc,KACnBld,KAAKmd,eAAiB,KAClBnd,KAAK+R,SACP/R,KAAK+R,QAAQY,UAGf3S,KAAK+R,QAAU,KACf/R,KAAK/F,QAAU,KACf+F,KAAKrD,OAAS,KACdqD,KAAKod,IAAM,QAGb9M,KAAA,WAAO,IAAA7K,EAAAzF,KACL,GAAmC,SAA/BA,KAAK/F,QAAQ4D,MAAMI,QACrB,MAAM,IAAIP,MAAM,uCAGlB,GAAIsC,KAAKke,iBAAmBle,KAAKgd,WAAY,CAC3C,IAAMvI,EAAY5R,EAAaoB,QAAQjE,KAAK/F,QAAS+F,KAAK+S,YAAYlX,MAAM0gB,MACtE4B,Eb9GW,SAAjBC,EAAiBnkB,GACrB,IAAKM,SAASkM,gBAAgB4X,aAC5B,OAAO,KAIT,GAAmC,mBAAxBpkB,EAAQqkB,YAA4B,CAC7C,IAAMC,EAAOtkB,EAAQqkB,cACrB,OAAOC,aAAgBC,WAAaD,EAAO,KAG7C,OAAItkB,aAAmBukB,WACdvkB,EAIJA,EAAQ6D,WAINsgB,EAAenkB,EAAQ6D,YAHrB,Ka6FcsgB,CAAepe,KAAK/F,SACjCwkB,EAA4B,OAAfN,EACjBne,KAAK/F,QAAQykB,cAAcjY,gBAAgBb,SAAS5F,KAAK/F,SACzDkkB,EAAWvY,SAAS5F,KAAK/F,SAE3B,GAAIwa,EAAU5U,mBAAqB4e,EACjC,OAGF,IAAMrB,EAAMpd,KAAKge,gBACXW,EAAQzkB,EAAO8F,KAAK+S,YAAYjO,MAEtCsY,EAAIlV,aAAa,KAAMyW,GACvB3e,KAAK/F,QAAQiO,aAAa,mBAAoByW,GAE9C3e,KAAK4e,aAED5e,KAAKrD,OAAO6e,WACd4B,EAAI1X,UAAU0C,IA3KE,QA8KlB,IAAM8K,EAA6C,mBAA1BlT,KAAKrD,OAAOuW,UACnClT,KAAKrD,OAAOuW,UAAU7V,KAAK2C,KAAMod,EAAKpd,KAAK/F,SAC3C+F,KAAKrD,OAAOuW,UAER2L,EAAa7e,KAAK8e,eAAe5L,GACvClT,KAAK+e,oBAAoBF,GAEzB,IAiBgDrY,EAjB1CiK,EAAYzQ,KAAKgf,gBAiBvB,GAhBA/f,EAAame,EAAKpd,KAAK+S,YAAYuK,SAAUtd,MAExCA,KAAK/F,QAAQykB,cAAcjY,gBAAgBb,SAAS5F,KAAKod,MAC5D3M,EAAU6E,YAAY8H,GAGxBva,EAAaoB,QAAQjE,KAAK/F,QAAS+F,KAAK+S,YAAYlX,MAAM4gB,UAE1Dzc,KAAK+R,QAAU,IAAIS,EAAOxS,KAAK/F,QAASmjB,EAAKpd,KAAK0S,iBAAiBmM,IAEnEzB,EAAI1X,UAAU0C,IA9LI,QAoMd,iBAAkB7N,SAASkM,iBAC7BD,EAAA,IAAGE,OAAH1D,MAAAwD,EAAajM,SAASiE,KAAKoI,UAAU7J,SAAQ,SAAA9C,GAC3C4I,EAAaO,GAAGnJ,EAAS,abtIhB,kBa0Ib,IAAMglB,EAAW,WACXxZ,EAAK9I,OAAO6e,WACd/V,EAAKyZ,iBAGP,IAAMC,EAAiB1Z,EAAKyX,YAC5BzX,EAAKyX,YAAc,KAEnBra,EAAaoB,QAAQwB,EAAKxL,QAASwL,EAAKsN,YAAYlX,MAAM2gB,OA/M1C,QAiNZ2C,GACF1Z,EAAKsY,OAAO,KAAMtY,IAItB,GAAIzF,KAAKod,IAAI1X,UAAUE,SA3NL,QA2NgC,CAChD,IAAMvK,EAAqBJ,EAAiC+E,KAAKod,KACjEva,EAAaQ,IAAIrD,KAAKod,Ib3TP,gBa2T4B6B,GAC3ChjB,EAAqB+D,KAAKod,IAAK/hB,QAE/B4jB,QAKN5O,KAAA,WAAO,IAAAzD,EAAA5M,KACCod,EAAMpd,KAAKge,gBACXiB,EAAW,WAnOI,SAoOfrS,EAAKsQ,aAAoCE,EAAItf,YAC/Csf,EAAItf,WAAWgI,YAAYsX,GAG7BxQ,EAAKwS,iBACLxS,EAAK3S,QAAQoG,gBAAgB,oBAC7BwC,EAAaoB,QAAQ2I,EAAK3S,QAAS2S,EAAKmG,YAAYlX,MAAMygB,QAC1D1P,EAAKmF,QAAQY,WAIf,IADkB9P,EAAaoB,QAAQjE,KAAK/F,QAAS+F,KAAK+S,YAAYlX,MAAMwgB,MAC9Dxc,iBAAd,CAQgD,IAAAgH,EAAhD,GAJAuW,EAAI1X,UAAUC,OArPM,QAyPhB,iBAAkBpL,SAASkM,iBAC7BI,EAAA,IAAGH,OAAH1D,MAAA6D,EAAatM,SAASiE,KAAKoI,UACxB7J,SAAQ,SAAA9C,GAAO,OAAI4I,EAAaC,IAAI7I,EAAS,YAAakE,MAO/D,GAJA6B,KAAKmd,eAAL,OAAqC,EACrCnd,KAAKmd,eAAL,OAAqC,EACrCnd,KAAKmd,eAAL,OAAqC,EAEjCnd,KAAKod,IAAI1X,UAAUE,SApQH,QAoQ8B,CAChD,IAAMvK,EAAqBJ,EAAiCmiB,GAE5Dva,EAAaQ,IAAI+Z,EbrWA,gBaqWqB6B,GACtChjB,EAAqBmhB,EAAK/hB,QAE1B4jB,IAGFjf,KAAKkd,YAAc,OAGrBtK,OAAA,WACuB,OAAjB5S,KAAK+R,SACP/R,KAAK+R,QAAQc,oBAMjBqL,cAAA,WACE,OAAOhe,QAAQF,KAAKqf,eAGtBrB,cAAA,WACE,GAAIhe,KAAKod,IACP,OAAOpd,KAAKod,IAGd,IAAMnjB,EAAUM,SAASoF,cAAc,OAIvC,OAHA1F,EAAQohB,UAAYrb,KAAKrD,OAAO8e,SAEhCzb,KAAKod,IAAMnjB,EAAQ2M,SAAS,GACrB5G,KAAKod,OAGdwB,WAAA,WACE,IAAMxB,EAAMpd,KAAKge,gBACjBhe,KAAKsf,kBAAkB/Y,EAAehH,QAnSX,iBAmS2C6d,GAAMpd,KAAKqf,YACjFjC,EAAI1X,UAAUC,OA3SM,OAEA,WA4StB2Z,kBAAA,SAAkBrlB,EAASslB,GACzB,GAAgB,OAAZtlB,EAIJ,MAAuB,iBAAZslB,GAAwBzjB,EAAUyjB,IACvCA,EAAQpO,SACVoO,EAAUA,EAAQ,SAIhBvf,KAAKrD,OAAOif,KACV2D,EAAQzhB,aAAe7D,IACzBA,EAAQohB,UAAY,GACpBphB,EAAQqb,YAAYiK,IAGtBtlB,EAAQulB,YAAcD,EAAQC,mBAM9Bxf,KAAKrD,OAAOif,MACV5b,KAAKrD,OAAOmf,WACdyD,EAAUxF,GAAawF,EAASvf,KAAKrD,OAAOsd,UAAWja,KAAKrD,OAAOud,aAGrEjgB,EAAQohB,UAAYkE,GAEpBtlB,EAAQulB,YAAcD,MAI1BF,SAAA,WACE,IAAI3D,EAAQ1b,KAAK/F,QAAQU,aAAa,uBAQtC,OANK+gB,IACHA,EAAqC,mBAAtB1b,KAAKrD,OAAO+e,MACzB1b,KAAKrD,OAAO+e,MAAMre,KAAK2C,KAAK/F,SAC5B+F,KAAKrD,OAAO+e,OAGTA,KAKThJ,iBAAA,SAAiBmM,GAAY,IAAA9R,EAAA/M,KAuB3B,OAAA+I,EAAAA,EAAA,GAtBwB,CACtBmK,UAAW2L,EACXxL,UAAW,CACTnK,OAAQlJ,KAAKmT,aACbzB,KAAM,CACJ+N,SAAUzf,KAAKrD,OAAOkf,mBAExB6D,MAAO,CACLzlB,QAAO,IAAM+F,KAAK+S,YAAYjO,KAAvB,UAETyO,gBAAiB,CACfC,kBAAmBxT,KAAKrD,OAAOgV,WAGnCgO,SAAU,SAAA9gB,GACJA,EAAK+gB,oBAAsB/gB,EAAKqU,WAClCnG,EAAK8S,6BAA6BhhB,IAGtCihB,SAAU,SAAAjhB,GAAI,OAAIkO,EAAK8S,6BAA6BhhB,MAKjDmB,KAAKrD,OAAOkV,iBAInBkN,oBAAA,SAAoBF,GAClB7e,KAAKge,gBAAgBtY,UAAU0C,IAAO2X,cAAgBlB,MAGxD1L,WAAA,WAAa,IAAA1E,EAAAzO,KACLkJ,EAAS,GAef,MAbkC,mBAAvBlJ,KAAKrD,OAAOuM,OACrBA,EAAOxG,GAAK,SAAA7D,GAMV,OALAA,EAAKuU,QAALrK,EAAAA,EAAA,GACKlK,EAAKuU,SACL3E,EAAK9R,OAAOuM,OAAOrK,EAAKuU,QAAS3E,EAAKxU,UAAY,IAGhD4E,GAGTqK,EAAOA,OAASlJ,KAAKrD,OAAOuM,OAGvBA,KAGT8V,cAAA,WACE,OAA8B,IAA1Bhf,KAAKrD,OAAO8T,UACPlW,SAASiE,KAGd1C,EAAUkE,KAAKrD,OAAO8T,WACjBzQ,KAAKrD,OAAO8T,UAGdlK,EAAehH,QAAQS,KAAKrD,OAAO8T,cAG5CqO,eAAA,SAAe5L,GACb,OAAO6I,GAAc7I,EAAUvV,kBAGjC0f,cAAA,WAAgB,IAAA5H,EAAAzV,KACGA,KAAKrD,OAAOsH,QAAQvI,MAAM,KAElCqB,SAAQ,SAAAkH,GACf,GAAgB,UAAZA,EACFpB,EAAaO,GAAGqS,EAAKxb,QACnBwb,EAAK1C,YAAYlX,MAAM6gB,MACvBjH,EAAK9Y,OAAOjC,UACZ,SAAAkH,GAAK,OAAI6T,EAAK9N,OAAO/F,WAElB,GAhaU,WAgaNqC,EAA4B,CACrC,IAAM+b,EApaQ,UAoaE/b,EACdwR,EAAK1C,YAAYlX,MAAMghB,WACvBpH,EAAK1C,YAAYlX,MAAM8gB,QACnBsD,EAvaQ,UAuaGhc,EACfwR,EAAK1C,YAAYlX,MAAMihB,WACvBrH,EAAK1C,YAAYlX,MAAM+gB,SAEzB/Z,EAAaO,GAAGqS,EAAKxb,QACnB+lB,EACAvK,EAAK9Y,OAAOjC,UACZ,SAAAkH,GAAK,OAAI6T,EAAKqI,OAAOlc,MAEvBiB,EAAaO,GAAGqS,EAAKxb,QACnBgmB,EACAxK,EAAK9Y,OAAOjC,UACZ,SAAAkH,GAAK,OAAI6T,EAAKsI,OAAOnc,UAK3B5B,KAAKie,kBAAoB,WACnBxI,EAAKxb,SACPwb,EAAKpF,QAITxN,EAAaO,GAAGpD,KAAK/F,QAAQuL,QAAb,UACd,gBACAxF,KAAKie,mBAGHje,KAAKrD,OAAOjC,SACdsF,KAAKrD,OAALoM,EAAAA,EAAA,GACK/I,KAAKrD,QADV,GAAA,CAEEsH,QAAS,SACTvJ,SAAU,KAGZsF,KAAKkgB,eAITA,UAAA,WACE,IAAMC,SAAmBngB,KAAK/F,QAAQU,aAAa,wBAE/CqF,KAAK/F,QAAQU,aAAa,UAA0B,WAAdwlB,KACxCngB,KAAK/F,QAAQiO,aACX,sBACAlI,KAAK/F,QAAQU,aAAa,UAAY,IAGxCqF,KAAK/F,QAAQiO,aAAa,QAAS,QAIvC4V,OAAA,SAAOlc,EAAOgS,GACZ,IAAM8J,EAAU1d,KAAK+S,YAAYuK,UACjC1J,EAAUA,GAAW3U,EAAa2C,EAAMgB,OAAQ8a,MAG9C9J,EAAU,IAAI5T,KAAK+S,YACjBnR,EAAMgB,OACN5C,KAAK2d,sBAEP1e,EAAa2C,EAAMgB,OAAQ8a,EAAS9J,IAGlChS,IACFgS,EAAQuJ,eACS,YAAfvb,EAAMmB,KAxeQ,QADA,UA0eZ,GAGF6Q,EAAQoK,gBAAgBtY,UAAUE,SApflB,SAEC,SAmfjBgO,EAAQsJ,YACVtJ,EAAQsJ,YApfW,QAwfrB7P,aAAauG,EAAQqJ,UAErBrJ,EAAQsJ,YA1fa,OA4fhBtJ,EAAQjX,OAAOgf,OAAU/H,EAAQjX,OAAOgf,MAAMrL,KAKnDsD,EAAQqJ,SAAWzgB,YAAW,WAjgBT,SAkgBfoX,EAAQsJ,aACVtJ,EAAQtD,SAETsD,EAAQjX,OAAOgf,MAAMrL,MARtBsD,EAAQtD,WAWZyN,OAAA,SAAOnc,EAAOgS,GACZ,IAAM8J,EAAU1d,KAAK+S,YAAYuK,UACjC1J,EAAUA,GAAW3U,EAAa2C,EAAMgB,OAAQ8a,MAG9C9J,EAAU,IAAI5T,KAAK+S,YACjBnR,EAAMgB,OACN5C,KAAK2d,sBAEP1e,EAAa2C,EAAMgB,OAAQ8a,EAAS9J,IAGlChS,IACFgS,EAAQuJ,eACS,aAAfvb,EAAMmB,KAhhBQ,QADA,UAkhBZ,GAGF6Q,EAAQiK,yBAIZxQ,aAAauG,EAAQqJ,UAErBrJ,EAAQsJ,YA/hBY,MAiiBftJ,EAAQjX,OAAOgf,OAAU/H,EAAQjX,OAAOgf,MAAMtL,KAKnDuD,EAAQqJ,SAAWzgB,YAAW,WAtiBV,QAuiBdoX,EAAQsJ,aACVtJ,EAAQvD,SAETuD,EAAQjX,OAAOgf,MAAMtL,MARtBuD,EAAQvD,WAWZwN,qBAAA,WACE,IAAK,IAAM5Z,KAAWjE,KAAKmd,eACzB,GAAInd,KAAKmd,eAAelZ,GACtB,OAAO,EAIX,OAAO,KAGTmH,WAAA,SAAWzO,GACT,IAAMyjB,EAAiB1X,GAAYG,kBAAkB7I,KAAK/F,SA4C1D,OA1CA4C,OAAOC,KAAKsjB,GACTrjB,SAAQ,SAAAsjB,IAC0C,IAA7C9E,GAAsBnZ,QAAQie,WACzBD,EAAeC,MAIxB1jB,GAAsC,iBAArBA,EAAO8T,WAA0B9T,EAAO8T,UAAUU,SACrExU,EAAO8T,UAAY9T,EAAO8T,UAAU,IASV,iBAN5B9T,EAAMoM,EAAAA,EAAAA,EAAA,GACD/I,KAAK+S,YAAYhJ,SACjBqW,GACkB,iBAAXzjB,GAAuBA,EAASA,EAAS,KAGnCgf,QAChBhf,EAAOgf,MAAQ,CACbrL,KAAM3T,EAAOgf,MACbtL,KAAM1T,EAAOgf,QAIW,iBAAjBhf,EAAO+e,QAChB/e,EAAO+e,MAAQ/e,EAAO+e,MAAMte,YAGA,iBAAnBT,EAAO4iB,UAChB5iB,EAAO4iB,QAAU5iB,EAAO4iB,QAAQniB,YAGlCX,EACEqI,GACAnI,EACAqD,KAAK+S,YAAYzI,aAGf3N,EAAOmf,WACTnf,EAAO8e,SAAW1B,GAAapd,EAAO8e,SAAU9e,EAAOsd,UAAWtd,EAAOud,aAGpEvd,KAGTghB,mBAAA,WACE,IAAMhhB,EAAS,GAEf,GAAIqD,KAAKrD,OACP,IAAK,IAAMiC,KAAOoB,KAAKrD,OACjBqD,KAAK+S,YAAYhJ,QAAQnL,KAASoB,KAAKrD,OAAOiC,KAChDjC,EAAOiC,GAAOoB,KAAKrD,OAAOiC,IAKhC,OAAOjC,KAGTyiB,eAAA,WACE,IAAMhC,EAAMpd,KAAKge,gBACXsC,EAAWlD,EAAIziB,aAAa,SAAS2C,MAAMge,IAChC,OAAbgF,GAAqBA,EAAS3e,OAAS,GACzC2e,EAASC,KAAI,SAAAC,GAAK,OAAIA,EAAM3lB,UACzBkC,SAAQ,SAAA0jB,GAAM,OAAIrD,EAAI1X,UAAUC,OAAO8a,SAI9CZ,6BAAA,SAA6Ba,GAC3B,IAAMC,EAAiBD,EAAWxhB,SAClCc,KAAKod,IAAMuD,EAAeC,OAC1B5gB,KAAKof,iBACLpf,KAAK+e,oBAAoB/e,KAAK8e,eAAe4B,EAAWxN,eAG1DgM,eAAA,WACE,IAAM9B,EAAMpd,KAAKge,gBACX6C,EAAsB7gB,KAAKrD,OAAO6e,UACA,OAApC4B,EAAIziB,aAAa,iBAIrByiB,EAAI1X,UAAUC,OAjpBM,QAkpBpB3F,KAAKrD,OAAO6e,WAAY,EACxBxb,KAAKqQ,OACLrQ,KAAKsQ,OACLtQ,KAAKrD,OAAO6e,UAAYqF,MAKnB9a,gBAAP,SAAuBpJ,GACrB,OAAOqD,KAAKgG,MAAK,WACf,IAAInH,EAAOI,EAAae,KA/tBb,cAguBLmL,EAA4B,iBAAXxO,GAAuBA,EAE9C,IAAKkC,IAAQ,eAAepB,KAAKd,MAI5BkC,IACHA,EAAO,IAAIke,EAAQ/c,KAAMmL,IAGL,iBAAXxO,GAAqB,CAC9B,QAA4B,IAAjBkC,EAAKlC,GACd,MAAM,IAAIwS,UAAJ,oBAAkCxS,EAAlC,KAGRkC,EAAKlC,YAKJwJ,YAAP,SAAmBlM,GACjB,OAAOgF,EAAahF,EArvBP,uDAgHb,MAjHY,+CAqHZ,OAAO8P,gCAIP,OAAOjF,oCAIP,MA5Ha,2CAgIb,OAAOjJ,qCAIP,MAnIW,kDAuIX,OAAOyO,SAjDLyS,GAkqBAxc,GAAIjC,IASV,GAAIiC,GAAG,CACL,IAAM6F,GAAqB7F,GAAEmC,GAAGoC,IAChCvE,GAAEmC,GAAGoC,IAAQiY,GAAQhX,gBACrBxF,GAAEmC,GAAGoC,IAAMuB,YAAc0W,GACzBxc,GAAEmC,GAAGoC,IAAMwB,WAAa,WAEtB,OADA/F,GAAEmC,GAAGoC,IAAQsB,GACN2W,GAAQhX,iBC1xBnB,IAAMjB,GAAO,UAKPwW,GAAqB,IAAI9d,OAAJ,wBAAyC,KAE9DuM,GAAOhB,EAAAA,EAAA,GACRgU,GAAQhT,SADA,GAAA,CAEXmJ,UAAW,QACXjP,QAAS,QACTsb,QAAS,GACT9D,SAAU,gJAMNnR,GAAWvB,EAAAA,EAAA,GACZgU,GAAQzS,aADI,GAAA,CAEfiV,QAAS,8BAGL1jB,GAAQ,CACZwgB,KAAI,kBACJC,OAAM,oBACNC,KAAI,kBACJC,MAAK,mBACLC,SAAQ,sBACRC,MAAK,mBACLC,QAAO,qBACPC,SAAQ,sBACRC,WAAU,wBACVC,WAAU,yBAeNgE,GAAAA,SAAAA,+KAiCJ5C,cAAA,WACE,OAAOle,KAAKqf,YAAcrf,KAAK+gB,iBAGjCnC,WAAA,WACE,IAAMxB,EAAMpd,KAAKge,gBAGjBhe,KAAKsf,kBAAkB/Y,EAAehH,QAlDnB,kBAkD2C6d,GAAMpd,KAAKqf,YACzE,IAAIE,EAAUvf,KAAK+gB,cACI,mBAAZxB,IACTA,EAAUA,EAAQliB,KAAK2C,KAAK/F,UAG9B+F,KAAKsf,kBAAkB/Y,EAAehH,QAvDjB,gBAuD2C6d,GAAMmC,GAEtEnC,EAAI1X,UAAUC,OA7DM,OACA,WA+DtBoZ,oBAAA,SAAoBF,GAClB7e,KAAKge,gBAAgBtY,UAAU0C,IAAO2X,cAAgBlB,MAKxDkC,YAAA,WACE,OAAO/gB,KAAK/F,QAAQU,aAAa,iBAC/BqF,KAAKrD,OAAO4iB,WAGhBH,eAAA,WACE,IAAMhC,EAAMpd,KAAKge,gBACXsC,EAAWlD,EAAIziB,aAAa,SAAS2C,MAAMge,IAChC,OAAbgF,GAAqBA,EAAS3e,OAAS,GACzC2e,EAASC,KAAI,SAAAC,GAAK,OAAIA,EAAM3lB,UACzBkC,SAAQ,SAAA0jB,GAAM,OAAIrD,EAAI1X,UAAUC,OAAO8a,SAMvC1a,gBAAP,SAAuBpJ,GACrB,OAAOqD,KAAKgG,MAAK,WACf,IAAInH,EAAOI,EAAae,KA1Hb,cA2HLmL,EAA4B,iBAAXxO,EAAsBA,EAAS,KAEtD,IAAKkC,IAAQ,eAAepB,KAAKd,MAI5BkC,IACHA,EAAO,IAAIiiB,EAAQ9gB,KAAMmL,GACzBlM,EAAae,KAnIJ,aAmIoBnB,IAGT,iBAAXlC,GAAqB,CAC9B,QAA4B,IAAjBkC,EAAKlC,GACd,MAAM,IAAIwS,UAAJ,oBAAkCxS,EAAlC,KAGRkC,EAAKlC,YAKJwJ,YAAP,SAAmBlM,GACjB,OAAOgF,EAAahF,EAjJP,uDAkDb,MAnDY,+CAuDZ,OAAO8P,gCAIP,OAAOjF,oCAIP,MA9Da,2CAkEb,OAAOjJ,qCAIP,MArEW,kDAyEX,OAAOyO,SA5BLwW,CAAgB/D,IAuGhBxc,GAAIjC,IAQV,GAAIiC,GAAG,CACL,IAAM6F,GAAqB7F,GAAEmC,GAAGoC,IAChCvE,GAAEmC,GAAGoC,IAAQgc,GAAQ/a,gBACrBxF,GAAEmC,GAAGoC,IAAMuB,YAAcya,GACzBvgB,GAAEmC,GAAGoC,IAAMwB,WAAa,WAEtB,OADA/F,GAAEmC,GAAGoC,IAAQsB,GACN0a,GAAQ/a,iBC9JnB,IAAMjB,GAAO,YAMPiF,GAAU,CACdb,OAAQ,GACR8X,OAAQ,OACRpe,OAAQ,IAGJ0H,GAAc,CAClBpB,OAAQ,SACR8X,OAAQ,SACRpe,OAAQ,oBA2BJqe,GAAAA,WACJ,SAAAA,EAAYhnB,EAAS0C,GAAQ,IAAA8I,EAAAzF,KAC3BA,KAAKgF,SAAW/K,EAChB+F,KAAKkhB,eAAqC,SAApBjnB,EAAQuT,QAAqBrS,OAASlB,EAC5D+F,KAAKmL,QAAUnL,KAAKoL,WAAWzO,GAC/BqD,KAAKiQ,UAAejQ,KAAKmL,QAAQvI,OAAb5C,cACKA,KAAKmL,QAAQvI,OADrB,qBAEQ5C,KAAKmL,QAAQvI,OAFrB,kBAGjB5C,KAAKmhB,SAAW,GAChBnhB,KAAKohB,SAAW,GAChBphB,KAAKqhB,cAAgB,KACrBrhB,KAAKshB,cAAgB,EAErBze,EAAaO,GAAGpD,KAAKkhB,eApCP,uBAoCqC,SAAAtf,GAAK,OAAI6D,EAAK8b,SAAS3f,MAE1E5B,KAAKwhB,UACLxhB,KAAKuhB,WAELtiB,EAAahF,EA1DA,eA0DmB+F,iCAelCwhB,QAAA,WAAU,IAAA5U,EAAA5M,KACFyhB,EAAazhB,KAAKkhB,iBAAmBlhB,KAAKkhB,eAAe/lB,OA3C7C,SACE,WA8CdumB,EAAuC,SAAxB1hB,KAAKmL,QAAQ6V,OAChCS,EACAzhB,KAAKmL,QAAQ6V,OAETW,EAlDc,aAkDDD,EACjB1hB,KAAK4hB,gBACL,EAEF5hB,KAAKmhB,SAAW,GAChBnhB,KAAKohB,SAAW,GAEhBphB,KAAKshB,cAAgBthB,KAAK6hB,mBAEVtb,EAAepH,KAAKa,KAAKiQ,WAGtCsQ,KAAI,SAAAtmB,GACH,IAAI2I,EACEkf,EAAiBhnB,EAAuBb,GAM9C,GAJI6nB,IACFlf,EAAS2D,EAAehH,QAAQuiB,IAG9Blf,EAAQ,CACV,IAAMmf,EAAYnf,EAAOwG,wBACzB,GAAI2Y,EAAUpK,OAASoK,EAAUC,OAC/B,MAAO,CACLtZ,GAAYgZ,GAAc9e,GAAQyG,IAAMsY,EACxCG,GAKN,OAAO,QAERhb,QAAO,SAAAmb,GAAI,OAAIA,KACfC,MAAK,SAAC/J,EAAGE,GAAJ,OAAUF,EAAE,GAAKE,EAAE,MACxBtb,SAAQ,SAAAklB,GACPrV,EAAKuU,SAAS/Z,KAAK6a,EAAK,IACxBrV,EAAKwU,SAASha,KAAK6a,EAAK,UAI9B1c,QAAA,WACEtG,EAAgBe,KAAKgF,SA3HR,gBA4HbnC,EAAaC,IAAI9C,KAAKkhB,eA3HX,iBA6HXlhB,KAAKgF,SAAW,KAChBhF,KAAKkhB,eAAiB,KACtBlhB,KAAKmL,QAAU,KACfnL,KAAKiQ,UAAY,KACjBjQ,KAAKmhB,SAAW,KAChBnhB,KAAKohB,SAAW,KAChBphB,KAAKqhB,cAAgB,KACrBrhB,KAAKshB,cAAgB,QAKvBlW,WAAA,SAAWzO,GAMT,GAA6B,iBAL7BA,EAAMoM,EAAAA,EAAA,GACDgB,IACkB,iBAAXpN,GAAuBA,EAASA,EAAS,KAGnCiG,QAAuB9G,EAAUa,EAAOiG,QAAS,CAAA,IAC3D7I,EAAO4C,EAAOiG,OAAd7I,GACDA,IACHA,EAAKG,EAAO4K,IACZnI,EAAOiG,OAAO7I,GAAKA,GAGrB4C,EAAOiG,OAAP,IAAoB7I,EAKtB,OAFA0C,EAAgBqI,GAAMnI,EAAQ2N,IAEvB3N,KAGTilB,cAAA,WACE,OAAO5hB,KAAKkhB,iBAAmB/lB,OAC7B6E,KAAKkhB,eAAeiB,YACpBniB,KAAKkhB,eAAe5X,aAGxBuY,iBAAA,WACE,OAAO7hB,KAAKkhB,eAAezK,cAAgBrc,KAAKgoB,IAC9C7nB,SAASiE,KAAKiY,aACdlc,SAASkM,gBAAgBgQ,iBAI7B4L,iBAAA,WACE,OAAOriB,KAAKkhB,iBAAmB/lB,OAC7BA,OAAOmnB,YACPtiB,KAAKkhB,eAAe9X,wBAAwB4Y,UAGhDT,SAAA,WACE,IAAMjY,EAAYtJ,KAAK4hB,gBAAkB5hB,KAAKmL,QAAQjC,OAChDuN,EAAezW,KAAK6hB,mBACpBU,EAAYviB,KAAKmL,QAAQjC,OAC7BuN,EACAzW,KAAKqiB,mBAMP,GAJIriB,KAAKshB,gBAAkB7K,GACzBzW,KAAKwhB,UAGHlY,GAAaiZ,EAAjB,CACE,IAAM3f,EAAS5C,KAAKohB,SAASphB,KAAKohB,SAASzf,OAAS,GAEhD3B,KAAKqhB,gBAAkBze,GACzB5C,KAAKwiB,UAAU5f,OAJnB,CAUA,GAAI5C,KAAKqhB,eAAiB/X,EAAYtJ,KAAKmhB,SAAS,IAAMnhB,KAAKmhB,SAAS,GAAK,EAG3E,OAFAnhB,KAAKqhB,cAAgB,UACrBrhB,KAAKyiB,SAIP,IAAK,IAAIhhB,EAAIzB,KAAKmhB,SAASxf,OAAQF,KAAM,CAChBzB,KAAKqhB,gBAAkBrhB,KAAKohB,SAAS3f,IACxD6H,GAAatJ,KAAKmhB,SAAS1f,UACM,IAAzBzB,KAAKmhB,SAAS1f,EAAI,IACtB6H,EAAYtJ,KAAKmhB,SAAS1f,EAAI,KAGpCzB,KAAKwiB,UAAUxiB,KAAKohB,SAAS3f,SAKnC+gB,UAAA,SAAU5f,GACR5C,KAAKqhB,cAAgBze,EAErB5C,KAAKyiB,SAEL,IAAMC,EAAU1iB,KAAKiQ,UAAUvU,MAAM,KAClC6kB,KAAI,SAAA7lB,GAAQ,OAAOA,EAAP,iBAAgCkI,EAAhC,MAA4ClI,EAA5C,UAA8DkI,EAA9D,QAET+f,EAAOpc,EAAehH,QAAQmjB,EAAQE,KAAK,MAE7CD,EAAKjd,UAAUE,SA/MU,kBAgN3BW,EACGhH,QAxMwB,mBAwMUojB,EAAKnd,QAzMtB,cA0MjBE,UAAU0C,IAjNO,UAmNpBua,EAAKjd,UAAU0C,IAnNK,YAsNpBua,EAAKjd,UAAU0C,IAtNK,UAwNpB7B,EACGS,QAAQ2b,EAtNe,qBAuNvB5lB,SAAQ,SAAA8lB,GAGPtc,EAAec,KAAKwb,EAAcC,+BAC/B/lB,SAAQ,SAAAklB,GAAI,OAAIA,EAAKvc,UAAU0C,IA9NlB,aAiOhB7B,EAAec,KAAKwb,EA5NH,aA6Nd9lB,SAAQ,SAAAgmB,GACPxc,EAAeK,SAASmc,EA/NX,aAgOVhmB,SAAQ,SAAAklB,GAAI,OAAIA,EAAKvc,UAAU0C,IApOtB,oBAyOtBvF,EAAaoB,QAAQjE,KAAKkhB,eA9OV,wBA8O0C,CACxDnT,cAAenL,OAInB6f,OAAA,WACElc,EAAepH,KAAKa,KAAKiQ,WACtBnJ,QAAO,SAAAkc,GAAI,OAAIA,EAAKtd,UAAUE,SAhPX,aAiPnB7I,SAAQ,SAAAimB,GAAI,OAAIA,EAAKtd,UAAUC,OAjPZ,gBAsPjBI,gBAAP,SAAuBpJ,GACrB,OAAOqD,KAAKgG,MAAK,WACf,IAAInH,EAAOI,EAAae,KA7Qb,gBAoRX,GAJKnB,IACHA,EAAO,IAAIoiB,EAAUjhB,KAHW,iBAAXrD,GAAuBA,IAMxB,iBAAXA,EAAqB,CAC9B,QAA4B,IAAjBkC,EAAKlC,GACd,MAAM,IAAIwS,UAAJ,oBAAkCxS,EAAlC,KAGRkC,EAAKlC,YAKJwJ,YAAP,SAAmBlM,GACjB,OAAOgF,EAAahF,EA/RP,yDAgEb,MAjEY,+CAqEZ,OAAO8P,SA5BLkX,GAiQNpe,EAAaO,GAAGjI,OAvRS,8BAuRoB,WAC3CoL,EAAepH,KAnRS,uBAoRrBpC,SAAQ,SAAAkmB,GAAG,OAAI,IAAIhC,GAAUgC,EAAKva,GAAYG,kBAAkBoa,UAGrE,IAAM1iB,GAAIjC,IAQV,GAAIiC,GAAG,CACL,IAAM6F,GAAqB7F,GAAEmC,GAAGoC,IAChCvE,GAAEmC,GAAGoC,IAAQmc,GAAUlb,gBACvBxF,GAAEmC,GAAGoC,IAAMuB,YAAc4a,GACzB1gB,GAAEmC,GAAGoC,IAAMwB,WAAa,WAEtB,OADA/F,GAAEmC,GAAGoC,IAAQsB,GACN6a,GAAUlb,iBC9TrB,IAgCMmd,GAAAA,WACJ,SAAAA,EAAYjpB,GACV+F,KAAKgF,SAAW/K,EAEhBgF,EAAae,KAAKgF,SAlCL,SAkCyBhF,iCAWxCsQ,KAAA,WAAO,IAAA7K,EAAAzF,KACL,KAAKA,KAAKgF,SAASlH,YACjBkC,KAAKgF,SAASlH,WAAW9B,WAAakL,KAAKC,cAC3CnH,KAAKgF,SAASU,UAAUE,SArCJ,WAsCpB5F,KAAKgF,SAASU,UAAUE,SArCF,aAkCxB,CAOA,IAAI0B,EACE1E,EAAS5H,EAAuBgF,KAAKgF,UACrCme,EAAcnjB,KAAKgF,SAASQ,QAtCN,qBAwC5B,GAAI2d,EAAa,CACf,IAAMC,EAAwC,OAAzBD,EAAYxI,UAA8C,OAAzBwI,EAAYxI,SAvC7C,wBADH,UA0ClBrT,GADAA,EAAWf,EAAepH,KAAKikB,EAAcD,IACzB7b,EAAS3F,OAAS,GAGxC,IAAI0hB,EAAY,KAYhB,GAVI/b,IACF+b,EAAYxgB,EAAaoB,QAAQqD,EA9DvB,cA8D6C,CACrDyG,cAAe/N,KAAKgF,cAINnC,EAAaoB,QAAQjE,KAAKgF,SAjEhC,cAiEsD,CAChE+I,cAAezG,IAGHzH,kBACG,OAAdwjB,GAAsBA,EAAUxjB,kBADnC,CAKAG,KAAKwiB,UACHxiB,KAAKgF,SACLme,GAGF,IAAMlE,EAAW,WACfpc,EAAaoB,QAAQqD,EAjFT,gBAiFiC,CAC3CyG,cAAetI,EAAKT,WAEtBnC,EAAaoB,QAAQwB,EAAKT,SAlFf,eAkFsC,CAC/C+I,cAAezG,KAIf1E,EACF5C,KAAKwiB,UAAU5f,EAAQA,EAAO9E,WAAYmhB,GAE1CA,SAIJ1Z,QAAA,WACEtG,EAAgBe,KAAKgF,SAtGR,UAuGbhF,KAAKgF,SAAW,QAKlBwd,UAAA,SAAUvoB,EAASwW,EAAWuF,GAAU,IAAApJ,EAAA5M,KAKhCsjB,IAJiB7S,GAAqC,OAAvBA,EAAUkK,UAA4C,OAAvBlK,EAAUkK,SAE5EpU,EAAeK,SAAS6J,EA7FN,WA4FlBlK,EAAepH,KA3FM,wBA2FmBsR,IAGZ,GACxBS,EAAkB8E,GACrBsN,GAAUA,EAAO5d,UAAUE,SAtGV,QAwGdqZ,EAAW,WAAA,OAAMrS,EAAK2W,oBAC1BtpB,EACAqpB,EACAtN,IAGF,GAAIsN,GAAUpS,EAAiB,CAC7B,IAAM7V,EAAqBJ,EAAiCqoB,GAC5DA,EAAO5d,UAAUC,OA/GC,QAiHlB9C,EAAaQ,IAAIigB,EhBjJA,gBgBiJwBrE,GACzChjB,EAAqBqnB,EAAQjoB,QAE7B4jB,OAIJsE,oBAAA,SAAoBtpB,EAASqpB,EAAQtN,GACnC,GAAIsN,EAAQ,CACVA,EAAO5d,UAAUC,OA7HG,UA+HpB,IAAM6d,EAAgBjd,EAAehH,QApHJ,kCAoH4C+jB,EAAOxlB,YAEhF0lB,GACFA,EAAc9d,UAAUC,OAlIN,UAqIgB,QAAhC2d,EAAO3oB,aAAa,SACtB2oB,EAAOpb,aAAa,iBAAiB,IAIzCjO,EAAQyL,UAAU0C,IA1II,UA2Ie,QAAjCnO,EAAQU,aAAa,SACvBV,EAAQiO,aAAa,iBAAiB,GAGxC9J,EAAOnE,GAEHA,EAAQyL,UAAUE,SA/IF,SAgJlB3L,EAAQyL,UAAU0C,IA/IA,QAkJhBnO,EAAQ6D,YAAc7D,EAAQ6D,WAAW4H,UAAUE,SAtJ1B,oBAuJH3L,EAAQuL,QAjJZ,cAoJlBe,EAAepH,KA/IU,oBAgJtBpC,SAAQ,SAAA0mB,GAAQ,OAAIA,EAAS/d,UAAU0C,IA1JxB,aA6JpBnO,EAAQiO,aAAa,iBAAiB,IAGpC8N,GACFA,OAMGjQ,gBAAP,SAAuBpJ,GACrB,OAAOqD,KAAKgG,MAAK,WACf,IAAMnH,EAAOI,EAAae,KApLf,WAoLkC,IAAIkjB,EAAIljB,MAErD,GAAsB,iBAAXrD,EAAqB,CAC9B,QAA4B,IAAjBkC,EAAKlC,GACd,MAAM,IAAIwS,UAAJ,oBAAkCxS,EAAlC,KAGRkC,EAAKlC,YAKJwJ,YAAP,SAAmBlM,GACjB,OAAOgF,EAAahF,EAjMP,mDAwCb,MAzCY,qBA+BVipB,GA6KNrgB,EAAaO,GAAG7I,SAnMU,wBAYG,mEAuLyC,SAAUqH,GAC9EA,EAAMhC,kBAEOX,EAAae,KA9MX,WA8M8B,IAAIkjB,GAAIljB,OAChDsQ,UAGP,IAAM/P,GAAIjC,IASV,GAAIiC,GAAG,CACL,IAAM6F,GAAqB7F,GAAEmC,GAAF,IAC3BnC,GAAEmC,GAAF,IAAawgB,GAAInd,gBACjBxF,GAAEmC,GAAF,IAAW2D,YAAc6c,GACzB3iB,GAAEmC,GAAF,IAAW4D,WAAa,WAEtB,OADA/F,GAAEmC,GAAF,IAAa0D,GACN8c,GAAInd,iBCnOf,IAgBMuE,GAAc,CAClBkR,UAAW,UACXkI,SAAU,UACV/H,MAAO,UAGH5R,GAAU,CACdyR,WAAW,EACXkI,UAAU,EACV/H,MAAO,KAWHgI,GAAAA,WACJ,SAAAA,EAAY1pB,EAAS0C,GACnBqD,KAAKgF,SAAW/K,EAChB+F,KAAKmL,QAAUnL,KAAKoL,WAAWzO,GAC/BqD,KAAKid,SAAW,KAChBjd,KAAKqd,gBACLpe,EAAahF,EAxCA,WAwCmB+F,iCAmBlCsQ,KAAA,WAAO,IAAA7K,EAAAzF,KAGL,IAFkB6C,EAAaoB,QAAQjE,KAAKgF,SAtDhC,iBAwDEnF,iBAAd,CAIIG,KAAKmL,QAAQqQ,WACfxb,KAAKgF,SAASU,UAAU0C,IA1DN,QA6DpB,IAAM6W,EAAW,WACfxZ,EAAKT,SAASU,UAAUC,OA3DH,WA4DrBF,EAAKT,SAASU,UAAU0C,IA7DN,QA+DlBvF,EAAaoB,QAAQwB,EAAKT,SAnEf,kBAqEPS,EAAK0F,QAAQuY,WACfje,EAAKwX,SAAWzgB,YAAW,WACzBiJ,EAAK4K,SACJ5K,EAAK0F,QAAQwQ,SAOpB,GAHA3b,KAAKgF,SAASU,UAAUC,OAzEJ,QA0EpBvH,EAAO4B,KAAKgF,UACZhF,KAAKgF,SAASU,UAAU0C,IAzED,WA0EnBpI,KAAKmL,QAAQqQ,UAAW,CAC1B,IAAMngB,EAAqBJ,EAAiC+E,KAAKgF,UAEjEnC,EAAaQ,IAAIrD,KAAKgF,SjB3GL,gBiB2G+Bia,GAChDhjB,EAAqB+D,KAAKgF,SAAU3J,QAEpC4jB,QAIJ5O,KAAA,WAAO,IAAAzD,EAAA5M,KACL,GAAKA,KAAKgF,SAASU,UAAUE,SAtFT,UA0FF/C,EAAaoB,QAAQjE,KAAKgF,SAjGhC,iBAmGEnF,iBAAd,CAIA,IAAMof,EAAW,WACfrS,EAAK5H,SAASU,UAAU0C,IAlGN,QAmGlBvF,EAAaoB,QAAQ2I,EAAK5H,SAxGd,oBA4Gd,GADAhF,KAAKgF,SAASU,UAAUC,OArGJ,QAsGhB3F,KAAKmL,QAAQqQ,UAAW,CAC1B,IAAMngB,EAAqBJ,EAAiC+E,KAAKgF,UAEjEnC,EAAaQ,IAAIrD,KAAKgF,SjBtIL,gBiBsI+Bia,GAChDhjB,EAAqB+D,KAAKgF,SAAU3J,QAEpC4jB,QAIJ1Z,QAAA,WACE8H,aAAarN,KAAKid,UAClBjd,KAAKid,SAAW,KAEZjd,KAAKgF,SAASU,UAAUE,SApHR,SAqHlB5F,KAAKgF,SAASU,UAAUC,OArHN,QAwHpB9C,EAAaC,IAAI9C,KAAKgF,SAhID,0BAiIrB/F,EAAgBe,KAAKgF,SApIR,YAsIbhF,KAAKgF,SAAW,KAChBhF,KAAKmL,QAAU,QAKjBC,WAAA,SAAWzO,GAaT,OAZAA,EAAMoM,EAAAA,EAAAA,EAAA,GACDgB,IACArB,GAAYG,kBAAkB7I,KAAKgF,WACjB,iBAAXrI,GAAuBA,EAASA,EAAS,IAGrDF,EArJS,QAuJPE,EACAqD,KAAK+S,YAAYzI,aAGZ3N,KAGT0gB,cAAA,WAAgB,IAAAtQ,EAAA/M,KACd6C,EAAaO,GACXpD,KAAKgF,SA3Jc,yBAuBK,0BAuIxB,WAAA,OAAM+H,EAAKsD,aAMRtK,gBAAP,SAAuBpJ,GACrB,OAAOqD,KAAKgG,MAAK,WACf,IAAInH,EAAOI,EAAae,KAzKb,YAgLX,GAJKnB,IACHA,EAAO,IAAI8kB,EAAM3jB,KAHe,iBAAXrD,GAAuBA,IAMxB,iBAAXA,EAAqB,CAC9B,QAA4B,IAAjBkC,EAAKlC,GACd,MAAM,IAAIwS,UAAJ,oBAAkCxS,EAAlC,KAGRkC,EAAKlC,GAAQqD,aAKZmG,YAAP,SAAmBlM,GACjB,OAAOgF,EAAahF,EA3LP,qDA8Cb,MA/CY,mDAmDZ,OAAOqQ,mCAIP,OAAOP,SApBL4Z,GA6JApjB,GAAIjC,IASV,GAAIiC,GAAG,CACL,IAAM6F,GAAqB7F,GAAEmC,GAAF,MAC3BnC,GAAEmC,GAAF,MAAaihB,GAAM5d,gBACnBxF,GAAEmC,GAAF,MAAW2D,YAAcsd,GACzBpjB,GAAEmC,GAAF,MAAW4D,WAAa,WAEtB,OADA/F,GAAEmC,GAAF,MAAa0D,GACNud,GAAM5d,uBCtNF,CACbhB,MAAAA,EACA2C,OAAAA,EACAgD,SAAAA,GACA+E,SAAAA,GACAqC,SAAAA,GACAoC,MAAAA,GACA4M,QAAAA,GACAG,UAAAA,GACAiC,IAAAA,GACAS,MAAAA,GACA5G,QAAAA","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha1): util/index.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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)\n .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-alpha1): dom/data.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\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-alpha1): dom/polyfill.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1): dom/event-handler.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 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 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)\n .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)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .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 informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .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-alpha1): alert.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\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\n .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\n .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-alpha1): dom/selector-engine.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1): button.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n * --------------------------------------------------------------------------\n */\n\nimport { getjQuery } 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 = 'button'\nconst VERSION = '5.0.0-alpha1'\nconst DATA_KEY = 'bs.button'\nconst EVENT_KEY = `.${DATA_KEY}`\nconst DATA_API_KEY = '.data-api'\n\nconst CLASS_NAME_ACTIVE = 'active'\nconst CLASS_NAME_DISABLED = 'disabled'\nconst CLASS_NAME_FOCUS = 'focus'\n\nconst SELECTOR_DATA_TOGGLE_CARROT = '[data-toggle^=\"button\"]'\nconst SELECTOR_DATA_TOGGLE = '[data-toggle=\"buttons\"]'\nconst SELECTOR_INPUT = 'input:not([type=\"hidden\"])'\nconst SELECTOR_ACTIVE = '.active'\nconst SELECTOR_BUTTON = '.btn'\n\nconst EVENT_CLICK_DATA_API = `click${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_FOCUS_DATA_API = `focus${EVENT_KEY}${DATA_API_KEY}`\nconst EVENT_BLUR_DATA_API = `blur${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 let triggerChangeEvent = true\n let addAriaPressed = true\n\n const rootElement = this._element.closest(SELECTOR_DATA_TOGGLE)\n\n if (rootElement) {\n const input = SelectorEngine.findOne(SELECTOR_INPUT, this._element)\n\n if (input && input.type === 'radio') {\n if (input.checked &&\n this._element.classList.contains(CLASS_NAME_ACTIVE)) {\n triggerChangeEvent = false\n } else {\n const activeElement = SelectorEngine.findOne(SELECTOR_ACTIVE, rootElement)\n\n if (activeElement) {\n activeElement.classList.remove(CLASS_NAME_ACTIVE)\n }\n }\n\n if (triggerChangeEvent) {\n if (input.hasAttribute('disabled') ||\n rootElement.hasAttribute('disabled') ||\n input.classList.contains(CLASS_NAME_DISABLED) ||\n rootElement.classList.contains(CLASS_NAME_DISABLED)) {\n return\n }\n\n input.checked = !this._element.classList.contains(CLASS_NAME_ACTIVE)\n EventHandler.trigger(input, 'change')\n }\n\n input.focus()\n addAriaPressed = false\n }\n }\n\n if (addAriaPressed) {\n this._element.setAttribute('aria-pressed',\n !this._element.classList.contains(CLASS_NAME_ACTIVE))\n }\n\n if (triggerChangeEvent) {\n this._element.classList.toggle(CLASS_NAME_ACTIVE)\n }\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_CARROT, event => {\n event.preventDefault()\n\n const button = event.target.closest(SELECTOR_BUTTON)\n\n let data = Data.getData(button, DATA_KEY)\n if (!data) {\n data = new Button(button)\n }\n\n data.toggle()\n})\n\nEventHandler.on(document, EVENT_FOCUS_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = event.target.closest(SELECTOR_BUTTON)\n\n if (button) {\n button.classList.add(CLASS_NAME_FOCUS)\n }\n})\n\nEventHandler.on(document, EVENT_BLUR_DATA_API, SELECTOR_DATA_TOGGLE_CARROT, event => {\n const button = event.target.closest(SELECTOR_BUTTON)\n\n if (button) {\n button.classList.remove(CLASS_NAME_FOCUS)\n }\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-alpha1): dom/manipulator.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1): carousel.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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\n .on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler\n .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\n .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\n .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-alpha1): collapse.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 const hasWidth = this._element.classList.contains(WIDTH)\n return hasWidth ? 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) {\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\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 }\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-alpha1): dropdown.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\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)\n .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\n .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-alpha1): modal.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\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-alpha1): util/sanitizer.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 DefaultWhitelist = {\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, whiteList, 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 whitelistKeys = Object.keys(whiteList)\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 (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha1): tooltip.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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 DefaultWhitelist,\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-alpha1'\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', 'whiteList', '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 whiteList: '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 whiteList: DefaultWhitelist,\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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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 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.whiteList, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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)\n .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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, 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 const popperInstance = popperData.instance\n this.tip = popperInstance.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-alpha1): popover.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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 _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\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-alpha1): scrollspy.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${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\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\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\n .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\n .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-alpha1): tab.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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-alpha1): toast.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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-alpha1'\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: 500\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 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 clearTimeout(this._timeout)\n this._timeout = null\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n () => this.hide()\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\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-alpha1): index.umd.js\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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/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","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","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","_objectSpread2","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","modalTransitionDuration","isModalOverflowing","scrollHeight","clientHeight","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","DefaultWhitelist","*","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","whiteList","sanitizeFn","createdDocument","DOMParser","parseFromString","whitelistKeys","elements","_loop","el","elName","nodeName","attributeList","whitelistedAttributes","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","popperInstance","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"],"mappings":"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","sourcesContent":["/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha1): 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)\n .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-alpha1): 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.key === 'undefined') {\n element.key = {\n key,\n id\n }\n id++\n }\n\n storeData[element.key.id] = data\n },\n get(element, key) {\n if (!element || typeof element.key === 'undefined') {\n return null\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n return storeData[keyProperties.id]\n }\n\n return null\n },\n delete(element, key) {\n if (typeof element.key === 'undefined') {\n return\n }\n\n const keyProperties = element.key\n if (keyProperties.key === key) {\n delete storeData[keyProperties.id]\n delete element.key\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-alpha1): 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-alpha1): 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 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 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)\n .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)\n .forEach(elementEvent => {\n removeNamespacedHandlers(element, events, elementEvent, originalTypeEvent.slice(1))\n })\n }\n\n const storeElementEvent = events[typeEvent] || {}\n Object.keys(storeElementEvent)\n .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 informations in our event\n if (typeof args !== 'undefined') {\n Object.keys(args)\n .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-alpha1): 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-alpha1'\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 let rootElement = this._element\n if (element) {\n rootElement = this._getRootElement(element)\n }\n\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\n .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\n .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-alpha1): 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-alpha1'\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-alpha1): 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-alpha1): 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-alpha1): 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-alpha1'\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\n .on(this._element, EVENT_KEYDOWN, event => this._keydown(event))\n }\n\n if (this._config.pause === 'hover') {\n EventHandler\n .on(this._element, EVENT_MOUSEENTER, event => this.pause(event))\n EventHandler\n .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\n .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\n .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-alpha1): 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-alpha1'\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 const hasWidth = this._element.classList.contains(WIDTH)\n return hasWidth ? 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) {\n const isOpen = element.classList.contains(CLASS_NAME_SHOW)\n\n if (triggerArray.length) {\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 }\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-alpha1): 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-alpha1'\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\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)\n .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\n .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-alpha1): 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-alpha1'\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 this._element.classList.add(CLASS_NAME_STATIC)\n const modalTransitionDuration = getTransitionDurationFromElement(this._element)\n EventHandler.one(this._element, TRANSITION_END, () => {\n this._element.classList.remove(CLASS_NAME_STATIC)\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-alpha1): 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 DefaultWhitelist = {\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, whiteList, 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 whitelistKeys = Object.keys(whiteList)\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 (whitelistKeys.indexOf(elName) === -1) {\n el.parentNode.removeChild(el)\n\n continue\n }\n\n const attributeList = [].concat(...el.attributes)\n const whitelistedAttributes = [].concat(whiteList['*'] || [], whiteList[elName] || [])\n\n attributeList.forEach(attr => {\n if (!allowedAttribute(attr, whitelistedAttributes)) {\n el.removeAttribute(attr.nodeName)\n }\n })\n }\n\n return createdDocument.body.innerHTML\n}\n","/**\n * --------------------------------------------------------------------------\n * Bootstrap (v5.0.0-alpha1): 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 DefaultWhitelist,\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-alpha1'\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', 'whiteList', '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 whiteList: '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 whiteList: DefaultWhitelist,\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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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 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.whiteList, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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.target, dataKey)\n\n if (!context) {\n context = new this.constructor(\n event.target,\n this._getDelegateConfig()\n )\n Data.setData(event.target, 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)\n .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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n if (config.sanitize) {\n config.template = sanitizeHtml(config.template, config.whiteList, 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 const popperInstance = popperData.instance\n this.tip = popperInstance.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-alpha1): 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-alpha1'\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 _addAttachmentClass(attachment) {\n this.getTipElement().classList.add(`${CLASS_PREFIX}-${attachment}`)\n }\n\n // Private\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-alpha1): 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-alpha1'\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},` +\n `${this._config.target} ${SELECTOR_LIST_ITEMS},` +\n `${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\n this._scrollHeight = this._getScrollHeight()\n\n const targets = SelectorEngine.find(this._selector)\n\n targets\n .map(element => {\n let target\n const targetSelector = getSelectorFromElement(element)\n\n if (targetSelector) {\n target = SelectorEngine.findOne(targetSelector)\n }\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\n .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\n .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-alpha1): 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-alpha1'\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-alpha1): 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-alpha1'\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: 500\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 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 clearTimeout(this._timeout)\n this._timeout = null\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(\n NAME,\n config,\n this.constructor.DefaultType\n )\n\n return config\n }\n\n _setListeners() {\n EventHandler.on(\n this._element,\n EVENT_CLICK_DISMISS,\n SELECTOR_DATA_DISMISS,\n () => this.hide()\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\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-alpha1): 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